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

如何实现让用户输入任意数量销售数据并在一行打印所有输入?

解决销售数据输入与打印问题

我来帮你修正这个问题~你的现有代码有两个关键问题:一是每次输入新数据都会覆盖之前的num变量,导致最后没有保存任何有效销售数据;二是循环结束后打印的num其实是触发停止的-1,不是你想要的销售数据。

这里给你调整后的代码,完美实现你的需求:

def main():
    sales = []  # 创建空列表存储所有销售数据
    while True:
        try:
            num = int(input("Please enter sales figures: "))
            if num == -1:
                break  # 输入-1时停止循环
            sales.append(num)  # 将有效数据加入列表
        except ValueError:
            print("请输入有效的整数哦!")  # 处理非整数输入,提升程序健壮性
    # 将列表中的整数转为字符串,用空格分隔后打印在同一行
    print("The sales figures entered were:", " ".join(map(str, sales)))

main()

关键说明:

  • 用列表存储数据:sales列表会保留每一次输入的有效销售数据,不会被新输入覆盖
  • 更清晰的循环逻辑:while True构建无限循环,遇到-1就通过break退出,比原代码的判断逻辑更直观
  • 可选的错误处理:try-except块可以防止用户输入非整数时程序崩溃,如果你不需要这个功能,可以去掉这段,只保留核心输入逻辑
  • 同一行打印:通过" ".join(map(str, sales))把列表里的数字转为字符串并拼接成一行,满足你的打印需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:34:57