从输入中打印最小和最大数字的脚本

script that prints smallest and largest number from input

我对这段代码有疑问,因为它将“完成”(结束循环的短语)作为最小输入

largest = None
smallest = None
NumList = []
while True:
         value = input("enter a number:")
         NumList.append(value)
         if value=="done":
             break
try: f = float(num)
except :
    print("Invalid input")


print("Maximum is",min(NumList))
print("Minimum is",max(NumList))

主要有两个错误:

  1. 当用户输入 'done' 时,您在 'done' 之前追加 检查它是否是 'done'。所以你的列表中有 'done',即使你不需要它。

  2. 字符串到浮点数的转换不合适。

以下是有效修改:

nums = []
while True:
    val = input("Enter a number: ")
    if val == "done":
        break
    try:
        nums.append(float(val))
    except ValueError:
        print(f"Invalid input: {val}")

print(f"Maximum is: {max(nums)}")
print(f"Minimum is: {min(nums)}")