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内置模块ConfigParser实现配置读写功能的方法
Feb 12 Python
pandas 获取季度,月度,年度首尾日期的方法
Apr 11 Python
Python中的单继承与多继承实例分析
May 10 Python
python3.x实现base64加密和解密
Mar 28 Python
win8.1安装Python 2.7版环境图文详解
Jul 01 Python
python同时替换多个字符串方法示例
Sep 17 Python
如何基于Python创建目录文件夹
Dec 31 Python
解决Pytorch训练过程中loss不下降的问题
Jan 02 Python
Python常用编译器原理及特点解析
Mar 23 Python
python定时截屏实现
Nov 02 Python
python动态规划算法实例详解
Nov 22 Python
python中count函数知识点浅析
Dec 17 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利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
php中heredoc与nowdoc介绍
2014/12/25 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
php单链表实现代码分享
2016/07/04 PHP
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
2013/06/26 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
Vue.js 2.x之组件的定义和注册图文详解
2018/06/19 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
Element DateTimePicker日期时间选择器的使用示例
2020/07/27 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
python读取注册表中值的方法
2013/04/08 Python
Python修改MP3文件的方法
2015/06/15 Python
Python下载网络小说实例代码
2018/02/03 Python
Django视图扩展类知识点详解
2019/10/25 Python
python中安装django模块的方法
2020/03/12 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
Python descriptor(描述符)的实现
2020/11/15 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
abstract class和interface有什么区别?
2012/01/03 面试题
理工大学毕业生自荐信
2013/11/01 职场文书
秋冬农业生产标语
2014/10/09 职场文书
感谢信的格式
2015/01/21 职场文书
作弊检讨书范文
2015/05/06 职场文书
千手观音观后感
2015/06/03 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python