You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python嵌套循环问题:代码仅打印最后一行输入的星号行

嘿,我帮你找出问题啦!你的代码没法打印所有星号行,主要是两个小失误在搞鬼:

问题1:多余的内层循环+break语句

你加了一个for j in range(line)的内层循环,还在里面放了break——这会导致每次外层循环启动后,内层只跑一次就直接跳出,不仅完全没必要,还打乱了原本的执行逻辑。

问题2:外层循环次数不对

你用了range(line + 1),这会让循环多执行一次(比如用户输入要3行,循环会跑4次),和你想要打印line行的需求不匹配。


修正后的代码

把多余的内层循环删掉,调整外层循环的范围,就能完美实现你的需求:

line = int(input("How many items are in the chart?: "))
for i in range(line):
    number = int(input("How much of this specific item?: "))
    print("*" * number)

简单解释

  • 外层循环range(line)会精准执行line次,正好对应你需要的行数。
  • 每次循环里读取用户输入的数量,直接打印对应数量的星号,逻辑清晰直接,没有多余的嵌套和中断。

内容的提问来源于stack exchange,提问作者bhaikal21

火山引擎 最新活动