我的 python 循环不是冻结就是 运行 一次

My python loop is either freezing up or running once

这个程序的目的是让用户输入数字,直到他们输入完成,此时程序输出最大和最小数字。如果用户输入的不是数字,程序会说“无效输入”并跳到下一次循环 运行s。我也有一个 try/except。这个程序是用Python写的 3.当我运行没有底部的continue时,我的屏幕死机,我必须重新启动。有了它,我在第 25 行看到一个弹出窗口,提示 SyntaxError: bad input.

        largest = 0
        largest = float(largest)
        smallest = 0
        smallest = float(smallest)
        num = input('Enter a number: ')
        num = float(num)
        while True:
          if num == "done":
                break
            try:
                float(num)
            except:
                print('Invalid Input')
                continue
            if num > largest:
                largest = num
     
           if smallest == 0:
                smallest= num
    
            if smallest > num:
               smallest = num
            print(num)
            continue
        print("Maximum is", largest)
        print("Minimum is", smallest)

你的输入在你的循环之外,所以它只询问一次并且因为它永远不会将它的值更改为“完成”,所以它会永远循环。

largest = 0
largest = float(largest)
smallest = 0
smallest = float(smallest)
# num = input("Enter a number: ")

while True:
    num = input("Enter a number: ")
    if num == "done":
        break
    try:
        num = float(num)
        float(num)
    except:
        print("Invalid Input")
        continue
    if num > largest:
        largest = num

    if smallest == 0:
        smallest = num

    if smallest > num:
        smallest = num
    print(num)
    continue

print("Maximum is", largest)
print("Minimum is", smallest)