求助:如何使用指定代码片段实现星号三角形图案?
星号三角形图案代码修正方案
目标图案
* *** ***** ******* *********
可用代码片段限制
仅能使用以下指定代码片段:
count += 1star = "*"continuecount = 10elif:print (star,end="")print()print (star)breaki % 2 == 0i % 2 == 1
原代码问题分析
你写的代码存在两处核心问题:
- 嵌套循环中使用
print(star,end="*"),会导致每输出一个星号就额外多打一个*,比如i=1时会输出**而非目标的*; else块里的count +=1会无限增加循环次数,完全偏离了只输出5行的需求。
修正后的代码
star = "*" count = 10 for i in range(count): if i % 2 == 0: continue for x in range(i): print(star, end="") print()
代码说明
- 用
count = 10定义循环范围,通过i % 2 == 0和continue跳过偶数次循环,只处理i=1、3、5、7、9这5个奇数; - 内层循环用
print(star, end="")连续输出对应数量的星号,不会额外添加多余字符; - 内层循环结束后用
print()实现换行,保证每行星号单独显示。
内容的提问来源于stack exchange,提问作者Puna
相关产品推荐
相关产品推荐

