以下是Wikibooks Python tutorial的链接。我正在练习该页面上的“组合数字和字符串”。第一个代码肯定会产生错误(它写在那里),但第二个代码也产生错误:
print ("Please give me a number:",)
response = raw_input()
number = int(response)
Traceback (most recent call last): File "<pyshell#2>", line 1, in <module>
number = int(response) ValueError: invalid literal for int() with base 10: ''
我似乎无法找到解决方法。 我使用的是Python 3.3.0,我知道它是input()而不是raw_input()。 请帮忙。
答案 0 :(得分:1)
您将空字符串传递给int()
,这就是为什么它会抛出ValueError
:
>>> int('')
ValueError: invalid literal for int() with base 10: ''
您可以使用try-except
块来解决这个问题。
>>> try:
response = input("enter a number: ")
print (int(response),"valid input")
except ValueError:
print ("invalid input")
.....:
enter a number: 123 #input
123 valid input
>>> try:
response = input("enter a number: ")
print (int(response),"valid input")
except ValueError:
print ("invalid input")
.....:
enter a number: abc #input
invalid input
答案 1 :(得分:0)
您正在组合字符串和整数。
print ("Please give me a number: ")
number = input()
plusTen = int(number) + 10
print ("If we add 10 to your number, we get " + str(plusTen))
是否是正确的代码。