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中使用NLTK库实现对词干的提取的教程
Apr 08 Python
用Python的SimPy库简化复杂的编程模型的介绍
Apr 13 Python
Python 实现文件的全备份和差异备份详解
Dec 27 Python
python网络爬虫学习笔记(1)
Apr 09 Python
python skimage 连通性区域检测方法
Jun 21 Python
解决python中 f.write写入中文出错的问题
Oct 31 Python
pandas DataFrame 删除重复的行的实现方法
Jan 29 Python
Python如何实现小程序 无限求和平均
Feb 18 Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 Python
使用已经得到的keras模型识别自己手写的数字方式
Jun 29 Python
python获取带有返回值的多线程
May 02 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
第四节 构造函数和析构函数 [4]
2006/10/09 PHP
php中文字母数字验证码实现代码
2008/04/25 PHP
PHP模块memcached使用指南
2014/12/08 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
原生js实现jquery函数animate()动画效果的简单实例
2016/08/21 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
JS简单实现自定义右键菜单实例
2017/05/31 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
Python中动态创建类实例的方法
2017/03/24 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
对Python3中bytes和HexStr之间的转换详解
2018/12/04 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
教导处工作制度
2014/01/18 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
工程专业求职自荐书范文
2014/02/18 职场文书
元旦晚会主持词
2014/03/24 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
英语邀请函范文
2015/02/02 职场文书
好员工观后感
2015/06/17 职场文书
如何用PHP实现多线程编程
2021/05/26 PHP