rating = input("")
if (rating == None):
print("Please input a rating")
else:
rating = int(rating)
if (rating > 8):
print("this album is amazing")
else:
print("this album is ok")
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Untitled-1.ipynb Cell 24' in <cell line: 3>()
4 print("Please input a rating")
6 else:
----> 7 rating = int(rating)
8 if (rating > 8):
9 print("this album is amazing")
ValueError: invalid literal for int() with base 10: ''
在尝试使用";无";为了识别输入上留下的空白,我得到了这个消息错误。有什么建议吗?
在不写任何东西的情况下尝试此代码:
print(type(input()))
程序打印:
<class 'str'>
因为函数input((在您不写任何内容时返回一个空字符串。你应该试试这个条件:
if (rating == ''):
print("Please input a rating")
此外,您还可以使用Python的内部机制,将None
对象和空字符串视为False
。这将适用于以下两种情况:
if not rating:
print("Please input a rating")
您需要的是使用try-except
块来处理任何类型的错误,无论是作为用户输入的空格还是字符串。阅读更多关于如何在python 中使用Try/Catch的信息
试试这个。。
rating = input("Enter the rating: ")
while True:
try:
rating = int(rating)
if (rating > 8):
print("this album is amazing")
break
else:
print("this album is ok")
break
except:
rating = input("Enter the rating: ")