如何在Python上比较NoneType和Float

问题描述 投票:0回答:1

我正在用Python 3编写代码以显示某些数字之间的最大值和最小值。而且出现错误。

sml_value = None
largest_value = None

while True:
    line = input('Enter a number: ')
    if line == 'done':
        break
    try:
        fl = float(line)
    except:
        print('Invalid input')
        continue
    if line < sml_value:
        sml_value = line
    elif line > largest_value:
        largest_value = line
print(sml_value, largest_value)

输出:

Enter a number: 5
Traceback (most recent call last):
  File "exercise5.2.py", line 13, in <module>
    if line < sml_value:
TypeError: '<' not supported between instances of 'str' and 'NoneType'
python-3.x int nonetype
1个回答
0
投票
largest = None
smallest = None
while True:
    num = input("Enter a number: ")
    if num == "done" :
        break
    try :
        num = float(num)
    except :
        print('Invalid Input')
        continue
    if largest is None or num > largest:
        largest = num
    elif smallest is None or num < smallest:
        smallest = num
print("Maximum is", int(largest))
print("Minimum is", int(smallest))
© www.soinside.com 2019 - 2024. All rights reserved.