Python 如何通过不输入值来中断while循环?
我试图编写一个非常简单的程序,使用while循环读取一系列浮点值并计算它们的平均值,当用户只需按Enter键而不提供值时终止循环 到目前为止,我已经知道了这一点,但显然它产生了一个错误:Python 如何通过不输入值来中断while循环?,python,loops,while-loop,break,Python,Loops,While Loop,Break,我试图编写一个非常简单的程序,使用while循环读取一系列浮点值并计算它们的平均值,当用户只需按Enter键而不提供值时终止循环 到目前为止,我已经知道了这一点,但显然它产生了一个错误: total = 0 num_values = 0 a = 0 while a != None: a = raw_input("Number: ") total = total + float(a) num_values = num_values + 1 print "The numb
total = 0
num_values = 0
a = 0
while a != None:
a = raw_input("Number: ")
total = total + float(a)
num_values = num_values + 1
print "The number of values entered was ",num_values
print "The mean is ",total/num_values
错误:
total = total + float(a)
ValueError: could not convert string to float:
我理解为什么会出现这个错误,但我不知道该怎么办。此外,我知道这可以通过列表或try and except来完成,但我需要使用while循环来完成。您需要测试空字符串,并在转换为浮点之前进行测试:
while True:
a = raw_input("Number: ")
if not a:
break
total = total + float(a)
num_values = num_values + 1
这个循环是无止境的,执行一个中断来退出循环。为什么不在尝试将循环转换为浮点之前测试它?此外,使用while循环并不一定排除使用try:except:。