本文摘自php中文网,作者爱喝马黛茶的安东尼,侵删。

python怎么打印菱形?下面给大家带来三种方法:
第一种
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | rows = int(input( '请输入菱形边长:\n' ))
row = 1
while row <= rows:
col = 1 # 保证每次内循环col都从1开始,打印前面空格的个数
while col <= (rows-row): # 这个内层 while 就是单纯打印空格
print ( ' ' , end = '' ) # 空格的打印不换行
col += 1
print (row * '* ' ) # 每一行打印完空格后,接着在同一行打印星星,星星个数与行数相等,且打印完星星后 print 默认换行
row += 1
bottom = rows-1
while bottom > 0:
col = 1 # 保证每次内循环col都从1开始,打印前面空格的个数
while bottom+col <= rows:
print ( ' ' , end = '' ) # 空格的打印不换行
col += 1
print (bottom * '* ' ) # 每一行打印完空格后,接着在同一行打印星星,星星个数与行数相等,且打印完星星后 print 默认换行
bottom -= 1
|
输出结果:
1 2 3 4 5 6 7 8 9 10 11 | 请输入菱形边长:
5
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
|
相关推荐:《Python视频教程》
第二种
1 2 3 4 5 | s = '*'
for i in range(1, 8, 2):
print ((s * i).center(7))
for i in reversed(range(1, 6, 2)):
print ((s * i).center(7))
|
输出结果:
1 2 3 4 5 6 7 | *
***
*****
*******
*****
***
*
|
第三种
1 2 3 4 5 6 7 8 9 10 11 | def stars(n):
RANGE1 = [2*i+1 for i in range(n)]
RANGE2 = [2*i+1 for i in range(n)[::-1]][1:]
RANGE = RANGE1 + RANGE2
RANGE_1 = [i for i in range(n)[::-1]]
RANGE_2 = [i for i in range(n)[1:]]
RANGE_12 = RANGE_1 + RANGE_2
for i in range(len(RANGE)):
print ( ' ' *RANGE_12[i] + '*' *RANGE[i])
if __name__ == "__main__" :
stars(5)
|
输出结果:
1 2 3 4 5 6 7 8 9 | *
***
*****
*******
*********
*******
*****
***
*
|
以上就是python怎么打印菱形的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python基础学习总结(四)
浅谈Python中字典和散列表以及散列冲突的解决
Python怎么卸载第三方库
Python为什么这么火?
关于Python中legb与闭包以及装饰器的具体讲解
Python数据分析用什么工具
django中使用定时任务的两种方法介绍
Python为什么工资高
sqlalchemy的实例介绍
如何修改Python字典内的值?2种修改Python字典内的值方法总结
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » python怎么打印菱形