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定时执行之Timer用法示例
May 27 Python
Python lxml模块安装教程
Jun 02 Python
Python实现SVN的目录周期性备份实例
Jul 17 Python
详解python的数字类型变量与其方法
Nov 20 Python
virtualenv实现多个版本Python共存
Aug 21 Python
Pycharm 实现下一个文件引用另外一个文件的方法
Jan 17 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
python GUI模拟实现计算器
Jun 22 Python
Python库安装速度过慢解决方案
Jul 14 Python
Python CategoricalDtype自定义排序实现原理解析
Sep 11 Python
基于Python组装jmx并调用JMeter实现压力测试
Nov 03 Python
Matplotlib配色之Colormap详解
Jan 05 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二维数组排序详解
2013/11/06 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
JS 有名函数表达式全面解析
2010/03/19 Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
input禁止键盘及中文输入,但可以点击
2014/02/13 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
jquery实现动态画圆
2014/12/04 Javascript
jQuery定义插件的方法
2015/12/18 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
如何编写jquery插件
2017/03/29 jQuery
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
Python3读取文件常用方法实例分析
2015/05/22 Python
python 实现登录网页的操作方法
2018/05/11 Python
详解Python odoo中嵌入html简单的分页功能
2019/05/29 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
python异常处理和日志处理方式
2019/12/24 Python
Python 分布式缓存之Reids数据类型操作详解
2020/06/24 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
印度服装购物网站:Limeroad
2018/09/26 全球购物
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
品质管理部岗位职责范文
2014/03/01 职场文书
小学生保护环境倡议书
2014/05/15 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书
python实现股票历史数据可视化分析案例
2021/06/10 Python