-4

ウィキブックスのPythonチュートリアルへのリンクは次のとおりです。そのページにある「数字と文字列の組み合わせ」を練習していました。最初のコードは確実にエラーを生成しますが(そこに記述されています)、2番目のコードもエラーを生成します。

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を使用していますが、raw_input()ではなくinput()であることがわかっています。助けてください。

4

2 に答える 2

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
于 2013-01-11T17:14:55.707 に答える
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))

正しいコードです。

于 2013-01-11T17:03:55.293 に答える