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 相关文章推荐
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 Python
Python实现求笛卡尔乘积的方法
Sep 16 Python
Django入门使用示例
Dec 12 Python
python向字符串中添加元素的实例方法
Jun 28 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
Mar 09 Python
django model通过字典更新数据实例
Apr 01 Python
浅谈Python程序的错误:变量未定义
Jun 02 Python
pytorch中的weight-initilzation用法
Jun 24 Python
Pytho爬虫中Requests设置请求头Headers的方法
Sep 22 Python
python list等分并从等分的子集中随机选取一个数
Nov 16 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 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
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
adodb与adodb_lite之比较
2006/12/31 PHP
php 数据库字段复用的基本原理与示例
2011/07/22 PHP
浅析php单例模式
2014/11/25 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
PHP用函数嵌入网站访问量计数器
2017/10/27 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
html下载本地
2006/06/19 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
2012/03/07 Javascript
GRID拖拽行的实例代码
2013/07/18 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
React实践之Tree组件的使用方法
2017/09/30 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
Python多线程编程(一):threading模块综述
2015/04/05 Python
python操作redis的方法
2015/07/07 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
python画微信表情符的实例代码
2019/10/09 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
CSS3 对过渡(transition)进行调速以及延时
2020/10/21 HTML / CSS
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
德国最大的网上足球商店:11teamsports
2019/09/11 全球购物
马来西亚在线购物市场:PGMall.my
2019/10/13 全球购物
KELLER SPORTS荷兰:在线订购最好的运动产品
2020/10/13 全球购物
建筑工程专业毕业生自荐信
2013/10/19 职场文书
税务专业毕业生自荐信
2013/11/10 职场文书
招股说明书范本
2014/05/06 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫