如何实现对称星号图案完整输出?已完成上半部分代码
实现指定星号图案的完整代码
你需要打印的目标图案如下:
* ** *** **** ***** **** *** ** *
你当前写出的上半部分代码是:
for n in range(6): print("*" * n)
注:这段代码会先输出一行空内容(因为range(6)从0开始计数),如果要完全匹配目标图案的上半部分,建议把上半部分的循环改成从1到5。
要补全下半部分,只需新增一个循环,让星号数量从4递减到1即可。用range(4, 0, -1)就能实现这个递减序列(第三个参数-1表示步长为负,从4开始往下遍历到1)。
完整可运行的代码如下:
# 打印上半部分:1到5个星号 for n in range(1, 6): print("*" * n) # 打印下半部分:4到1个星号 for n in range(4, 0, -1): print("*" * n)
如果你想把两个循环合并成一个,Python 3中可以这样写(把两个范围的列表合并后遍历):
for n in list(range(1, 6)) + list(range(4, 0, -1)): print("*" * n)
内容的提问来源于stack exchange,提问作者Juan Pablo Dávila Iriarte
相关产品推荐
相关产品推荐

