You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现输入数字至0停止,按自身次数打印每个输入数字?

代码修正方案

原代码存在三个核心问题:

  • 仅接收了一次输入,没有实现循环接收数字直到输入0的逻辑
  • Python是大小写敏感语言,代码里的N/n、Tmp/tmp都是不同变量,会导致未定义错误
  • 没有存储所有非0输入值,无法逐个处理每个输入的打印需求

修正后的代码如下:

# 创建列表存储所有非0输入
numbers = []
while True:
    num = int(input())
    if num == 0:
        break
    numbers.append(num)

# 遍历列表,按数值次数打印每个数字
for n in numbers:
    tmp = n
    while tmp > 0:
        print(n)
        tmp -= 1

逻辑说明

  1. 用while True构建无限循环,持续接收用户输入
  2. 每次输入判断是否为0,是则终止输入循环;否则将数字存入列表
  3. 遍历存储的数字列表,对每个数字用内层循环打印对应次数

测试输入3、2、1、0时,输出为:

3
3
3
2
2
1

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 16:40:21