为什么代码不打印列表中的负值?“最大”值工作正常,但负片不打印
user_input = ''
user_values = []
x = 0
maxim = 0
sum = 0
avg = 0
neg_values = 0
mini = 0
while True:
user_input = (input('input:'))
if user_input in ['q', 'Q']:
break
elif user_input not in ['q', 'Q'] and user_input.isnumeric():
user_values.append(int(user_input))
for value in user_values:
maxim = max(value,maxim)
print( "the maximum value in the list is : " , maxim)
Minumum_value = min(user_values)
print( "the minumum value in the list is : " , Minumum_value)
for value in user_values:
if value < 0:
print("the negative values are : " , value)
代码应该作为用户输入值使用,并在用户键入q
时退出。然后它应该找到负值或最大值等
这并不是在做你期望的事情,因为
isnumeric()
没有做你认为它做的事情。在Python提示符下尝试以下操作:要执行所需操作,请将输入值转换为
int
,并将转换包装为try...except ValueError
作为旁注,这是:
这是毫无意义的。取而代之的是
maxim = max(user_values)
。您只需计算一次最大值。最低限度也一样这是由于您的
isnumeric
检查:这并没有达到您期望的效果方法检查所有字符都是数字,减号不在其中
您可以使用try/except:
为什么不直接用try-except呢
除了试试这个代码
相关问题 更多 >
编程相关推荐