时间:2021-07-01 10:21:17 帮助过:21人阅读
python怎么打印菱形?下面给大家带来三种方法:
第一种
- 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
输出结果:
- 请输入菱形边长:
- 5
- *
- * *
- * * *
- * * * *
- * * * * *
- * * * *
- * * *
- * *
- *
相关推荐:《Python视频教程》
第二种
- 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))
输出结果:
- *
- ***
- *****
- *******
- *****
- ***
- *
第三种
- 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)
输出结果:
- *
- ***
- *****
- *******
- *********
- *******
- *****
- ***
- *
以上就是python怎么打印菱形的详细内容,更多请关注Gxl网其它相关文章!