输入应接受 n 的任何浮点值,并在输入“q”作为第一个值时终止。如果输入“q”作为第二个、第三个、第四个或第五个值,则程序应生成仅包含这些值的图。对于所有其他输入,程序应打印一条消息 表明存在问题并要求用户再次输入 n 值。程序不应因错误输入而终止。运行你的程序
n=5
n_list=[]
for i in range(n):
x=input('enter exponent n(q to quit) >')
if i!=0 and x=='q':
return n_list
elif i==0 and x=='q':
return('')
try:
float(x)
except ValueError:
print("That's not a number!!!")
n_list.append(float(x) )
当发生 valueerror 异常时,有没有一种方法可以让我返回到循环的起始位置进行相同的迭代。
在尝试将
ValueError
尝试转换为 float
后,您会执行可能导致错误的完全相同的操作,但这次不处理它。
只需在
try
中添加即可。
n=5
n_list=[]
for i in range(n):
x = input('enter exponent n(q to quit) >')
if i != 0 and x == 'q':
return n_list
elif i == 0 and x == 'q':
return ''
try:
n_list.append(float(x))
except ValueError:
print("That's not a number!!!")