编写一个程序,该程序使用while循环重复提示用户输入数字,并将数字添加到运行总计中。输入空白行时,程序应打印输入的所有数字的平均值。 您需要使用break语句退出while循环。 这是我到目前为止所得到的:
number_of_entries = int(input('Please enter the number of numbers: '))
entries = []
count = 0
while count < number_of_entries:
entry = float(input('Entry:'))
entries.append(entry)
count = count + 1
average = sum(entries)/number_of_entries
print(average)
这首先提示用户输入数字,然后提示他们输入条目,while循环继续提示输入数字,直到数字数等于用户输入的数字数。条目将保存到列表中,列表中的数字总和用于获取存储在平均变量中的平均值。如果用户没有输入任何内容(只需按回车键),则应该只找到已经输入的数字的平均值而不是导致错误代码。我知道我必须使用break语句,但我无法弄明白。
答案 0 :(得分:2)
如果用户只按下Enter键,则会中断,然后强制转换
while True:
entry = input('Entry:')
if not entry: # catch empty string and break the loop
break
entries.append(float(entry))
average = sum(entries)/len(entries)
如果您只是在用户点击输入时中断,则number_of_entries
无关紧要。如果用户使用原始number_of_entries
为while count < number_of_entries:
输入10,则可以使用列表的长度来获得平均值,然后在输入5个数字average = sum(entries)/number_of_entries
后输入Enter将是错误的。< / p>
答案 1 :(得分:0)
可能这段代码会对你有所帮助。这也将检查字符串或字符条目。
entries=[]
while True:
print "Entry: "
try:
entry = float(raw_input())
entries.append(float(entry))
except:
print "Not a Valid Entry"
break
average = sum(entries)/len(entries)
print average