【发布时间】:2021-08-24 08:48:04
【问题描述】:
我正在尝试计算用户将输入的数字的平均值。如果用户没有输入任何内容(例如,根本没有值),我想计算用户在该点之前输入的所有数字的平均值。对这些输入求和并找到平均值效果很好,但是当用户没有输入任何内容时尝试打破循环时我会遇到值错误。对于我尝试过的 if 语句
if number == ''
第一次尝试没用,也试过if number == int("")
if len(number) == 0
这仅适用于字符串
if Value Error 抛出同样的错误
完整代码如下
sum = 0
while True :
number = int(input('Please enter the number: '))
sum += number
if number == '' :
break
print(sum//number)
我得到的错误是
number = int(input('请输入数字:')) ValueError: int() 以 10 为底的无效文字:>
非常感谢任何帮助!
编辑:现在越来越接近感谢建议,因为我可以克服没有值输入的问题,但我的平均值计算不成功。
尝试此代码计算正常,但我在移动到下一个输入之前将第一个输入添加了两次
total = 0
amount = 0
while True :
user_input = input('Please enter the number: ')
try:
number = int(user_input)
total = number + number
amount += 1
except:
break
total += number
print(total/amount)
现在我只想弄清楚如何从第二个输入而不是第一个输入开始添加。
【问题讨论】:
-
欢迎您!尝试先定义输入:
user_input = input('Your text'),然后再转换为:number = int(user_input)。在两者之间,我会添加 if 语句。 -
附加说明:您正在使用变量名称覆盖内置函数
sum。调用变量total或类似的名称可能是一个更好的主意。 -
作为旁注,不鼓励使用流行的内置函数作为变量名,即在这种情况下
sum。建议改为sum_。 -
在 try 中使用 print 语句时是否出现错误,除了:
czromXL
标签: python if-statement while-loop integer