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

如何使用海象运算符编写输入空串终止的数字求和程序?

海象运算符实现输入数字求和程序的修正方案

你的代码存在两个关键问题:

  • 直接将输入转为int,当输入空字符串时,int('')会触发ValueError,导致程序崩溃。
  • 用整数类型的变量b和空字符串''比较,类型不匹配,永远不会相等,循环无法终止。

下面是修正后的代码,既满足在条件中使用海象运算符的要求,又能正确处理输入并终止循环:

total = 0
while (user_input := input('x: ')) != '':
    try:
        num = int(user_input)
        total += num
    except ValueError:
        print('请输入有效数字,或输入空字符串结束程序')
print(f'所有输入数字的总和是: {total}')

如果你更习惯用列表存储输入的数字再求和,也可以写成这样:

num_list = []
while (user_input := input('x: ')) != '':
    try:
        num = int(user_input)
        num_list.append(num)
    except ValueError:
        print('输入无效,请输入数字或空字符串')
print(f'总和是: {sum(num_list)}')

代码说明:

  1. 用海象运算符:=在循环条件中直接捕获用户输入的原始字符串,先判断是否为空,为空则终止循环。
  2. 对非空输入尝试转为整数,加入总和或列表;如果输入不是有效数字,捕获异常并提示用户,避免程序崩溃。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 06:33:18