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中用Descriptor实现类级属性(Property)详解
Sep 18 Python
python操作CouchDB的方法
Oct 08 Python
详解在Python程序中自定义异常的方法
Oct 16 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
Django添加favicon.ico图标的示例代码
Aug 07 Python
python学习之hook钩子的原理和使用
Oct 25 Python
python 修改本地网络配置的方法
Aug 14 Python
如何将你的应用迁移到Python3的三个步骤
Dec 22 Python
python实现飞船游戏的纵向移动
Apr 24 Python
Python如何使用正则表达式爬取京东商品信息
Jun 01 Python
python报错: 'list' object has no attribute 'shape'的解决
Jul 15 Python
详解PyTorch模型保存与加载
Apr 28 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
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
HTML页面如何象ASP一样接受参数
2007/02/07 Javascript
JavaScript 高级语法介绍
2009/06/15 Javascript
javascript URL编码和解码使用说明
2010/04/12 Javascript
document.getElementById介绍
2011/09/13 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
使用原生js编写一个简单的框选功能方法
2019/05/13 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
python 用所有标点符号分隔句子的示例
2019/07/15 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
关于python中remove的一些坑小结
2021/01/04 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
美国糖果店:Sugarfina
2019/02/21 全球购物
优秀班组长事迹
2014/05/31 职场文书
讲文明倡议书
2015/04/29 职场文书
800字作文之大雪
2019/12/04 职场文书
JS ES6异步解决方案
2021/04/29 Javascript
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python
如何Tomcat中使用ipv6地址
2022/05/06 Servers