【发布时间】:2020-06-16 18:02:34
【问题描述】:
我的任务是:
编写一个重复读取数字直到用户输入“完成”的程序。输入“完成”后,打印出总数、计数和平均值。如果用户输入的不是数字,请使用 try 和 except 检测他们的错误并打印错误消息并跳到下一个数字。
我的想法是将用户输入的数字附加到列表中,然后循环遍历列表以对数字求和并使用此总数除以列表的长度来计算平均值。那样有用吗?但是,我的列表不附加整数,只附加字符串。此外,列表中还附加了“完成”一词。
我的代码是:
x=[ ]
while True:
line = input('enter a number: ')
x.append(line)
if line == 'done':
break
我想要的输出是:
Enter a number: 4
Enter a number: 5
Enter a number: bad data
Enter a number: 7
Enter a number: done
16 3 5.333333333333333
【问题讨论】:
-
raw_input()按原样读取字符串并返回字符串,但input()需要 Python 的术语,例如1用于 int,而'done'用于字符串。使用raw_input()。对于数字使用int()并捕获转换异常 -
@Paul-AG
raw_input()仅适用于 python2。 -
@Paul-AG 请注意,
raw_input仅存在于 Python 2 中。在 Python 3 中,input如您所愿返回一个字符串。
标签: python