python-3.x - 如何在 Python 上比较 NoneType 和 Float
问题描述
我正在用 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'
解决方案
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))
推荐阅读
- javascript - 从帖子摘录字段将所有帖子图像 URL 更改为新 URL
- javascript - 'scales' 选项似乎破坏了 Chart.js 图表
- sqlite - 当我尝试在 SQLITE DB 中保存数据时出现错误“数据库已锁定”
- xamarin - 如何更改 Android 的 Xamarin.Forms Frame 默认选定边框?
- r - R 新手,尽管安装了 lubridate,但无法使用 floor_date 命令
- laravel - 在 Laravel 8 中创建包含作业、事件、侦听器、队列的结构
- jdbc - 限制jdbc连接池固定数量
- php - SQL - 创建与另一个值匹配的值数组
- format - EPPlus - 将单元格格式复制到新单元格
- amazon-web-services - 将资产从一个 S3 存储桶定期自动同步到单独账户中的另一个存储桶