嗨,我最近开始学习Python,我想编写一些代码来提示用户输入整数,只要用户输入“ done”即可。输入“完成”后,打印出最大和最小的数字。如果用户输入的数字不是有效数字,则会出现错误。有人可以告诉我编码的问题是什么吗?
largest = -1
smallest = None
while True:
sval = input('Enter a number: ')
if sval == 'done' :
break
try:
fval = float(sval)
except:
print('Invalid input')
continue
largest=fval
if fval>largest:
largest=fval
print('Maximum is ', largest)
if smallest is None:
smallest=fval
return smallest
if smallest>fval:
smallest=fval
print('Minimum is ',smallest)
答案 0 :(得分:-2)
您需要修改代码,以便保存所有可以转换为浮点数的输入,而不会覆盖它们。此代码接受输入并检查是否“完成”,否则尝试将其转换为浮点数并将其附加到num列表中。输入后,它将打印出列表的最大值和最小值。
nums=[]
while True:
sval = input('Enter a number: ')
if sval == 'done' :
break
else:
try: nums.append(float(sval))
except: None
print('Maximum is ', max(nums))
print('Minimum is ', min(nums))