python 打印直角三角形,等边三角形,菱形,正方形的代码


Posted in Python onNovember 21, 2017

三角形

等腰直角三角形1 2.7

#coding:utf-8
rows = int(raw_input('输入列数: '))
i = j = k = 1 #声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数
#等腰直角三角形1
print "等腰直角三角形1"
for i in range(0, rows):
 for k in range(0, rows - i):
  print " * ", #注意这里的",",一定不能省略,可以起到不换行的作用
  k += 1
 i += 1
 print "\n"

python:打印直角三角形

coding=utf-8

方式一

i = 1
while i <= 5:
  j = 1
  while j <=i:
    print '*',
    j+=1
  print '\n'
  i+=1

方式二

for i in range(1, 6):
  for j in range(1, i+1):
    print "*",
  print '\n'

#打印实心等边三角形

print "打印空心等边三角形,这里去掉if-else条件判断就是实心的"
for i in range(0, rows + 1):#变量i控制行数
 for j in range(0, rows - i):#(1,rows-i)
  print " ",
  j += 1
 for k in range(0, 2 * i - 1):#(1,2*i)
  if k == 0 or k == 2 * i - 2 or i == rows:
   if i == rows:
    if k % 2 == 0:#因为第一个数是从0开始的,所以要是偶数打印*,奇数打印空格
     print "*",
    else:
     print " ", #注意这里的",",一定不能省略,可以起到不换行的作用
   else:
    print "*",
  else:
   print " ",
  k += 1
 print "\n"
 i += 1

#打印菱形

print "打印空心等菱形,这里去掉if-else条件判断就是实心的"
for i in range(rows):#变量i控制行数
 for j in range(rows - i):#(1,rows-i)
  print " ",
  j += 1
 for k in range(2 * i - 1):#(1,2*i)
  if k == 0 or k == 2 * i - 2:
   print "*",
  else:
   print " ",
  k += 1
 print "\n"
 i += 1
 #菱形的下半部分
for i in range(rows):
 for j in range(i):#(1,rows-i)
  print " ",
  j += 1
 for k in range(2 * (rows - i) - 1):#(1,2*i)
  if k == 0 or k == 2 * (rows - i) - 2:
   print "*",
  else:
   print " ",
  k += 1
 print "\n"
 i += 1

#实心正方形

print "实心正方形"
for i in range(0, rows):
 for k in range(0, rows):
  print " * ", #注意这里的",",一定不能省略,可以起到不换行的作用
  k += 1
 i += 1
 print "\n"

#空心正方形

print "空心正方形"
for i in range(0, rows):
 for k in range(0, rows):
  if i != 0 and i != rows - 1:
   if k == 0 or k == rows - 1:
    #由于视觉效果看起来更像正方形,所以这里*两侧加了空格,增大距离
    print " * ", #注意这里的",",一定不能省略,可以起到不换行的作用
   else:
     print " ", #该处有三个空格
  else:
   print " * ", #这里*两侧加了空格
  k += 1
 i += 1
 print "\n"

知识点说明:

python ,end=''备注

就是打印之后不换行。在Python2.7中使用“,”
下面是2.7的例子:
def test():
print 'hello',
print 'world'

在python3中'end='意思是不换行

python打印翻转三角形

一.编写函数如上模式。

提示用户输入一个数n,然后调用displayPattern(n)来显示这种模式。

def displayPattern(n):
 dict = {}
 for i in range(0, int(n)): 
  '''
  int(i)+ 2:左闭右开 
   eg: n = 3,
    i = 0,打印[1] i = 1,打印[1,2]...
  str(j)[::-1] : 单个字符串反转 eg:12 ===>21
  键值对形式,添加到字典里面
  '''
  dict[i] = [str(j)[::-1] for j in range(1,int(i)+ 2)]
 listNum = []
 # print(dict)
 for key,value in dict.items():
  '''
  {0: ['1'], 1: ['1', '2'], 2: ['1', '2', '3'],3: ['1', '2', '3', '4'],
  循环取出字典中的value(对应的列表)
  去除[],(将逗号,替换成空格, 将单引号'替换成空)===>添加到list列表
  '''
  value = str(value).strip('[]').replace(',','\t').replace("'",'')
  listNum.append(value)
  # print(value)
 for k in range(0,int(n)):
  '''
  "\t" * %s : 空格*字符串的形式
   % (int(n) - int(k) - 1))))[::-1] : %:格式化标志 int(n) - int(k) - 1:求有多少空格
  '''
  listNum[k] = (listNum[k] + (eval('"\t" * %s' % (int(n) - int(k) - 1))))[::-1]
  print(listNum[k])
 # print(dict)
 # print(listNum)
 
num = int(input("请输入一个数:"))
# 调用函数
displayPattern(num)
Python 相关文章推荐
调试Python程序代码的几种方法总结
Apr 28 Python
python动态参数用法实例分析
May 25 Python
详细解读Python中解析XML数据的方法
Oct 15 Python
实例讲解Python中SocketServer模块处理网络请求的用法
Jun 28 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
Jun 26 Python
对python requests发送json格式数据的实例详解
Dec 19 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
Python判断对象是否相等及eq函数的讲解
Feb 25 Python
python自动发邮件总结及实例说明【推荐】
May 31 Python
分析运行中的 Python 进程详细解析
Jun 22 Python
如何基于Python实现电子邮件的发送
Dec 16 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
Mar 03 Python
pycharm远程调试openstack代码
Nov 21 #Python
Pycharm远程调试openstack的方法
Nov 21 #Python
pycharm远程调试openstack的图文教程
Nov 21 #Python
Python实现的归并排序算法示例
Nov 21 #Python
Python实现打印螺旋矩阵功能的方法
Nov 21 #Python
Python中矩阵库Numpy基本操作详解
Nov 21 #Python
python GUI实例学习
Nov 21 #Python
You might like
一篇入门的php Class 文章
2007/04/04 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
Node.js实现文件上传
2016/07/05 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
python求众数问题实例
2014/09/26 Python
浅谈django开发者模式中的autoreload是如何实现的
2017/08/18 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
Django forms组件的使用教程
2018/10/08 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
python图片合成的示例
2020/11/09 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
艺术教育实施方案
2014/05/03 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
Python实现自动玩连连看的脚本分享
2022/04/04 Python