2013-09-22 8 views
5

Czytam inne pytania, ale próbuję zrobić to inaczej próbuję zrobić rzecz kalkulatora w python i próbuję wprowadzić zmienną wejściową w liczba całkowita, więc mogę ją dodać. to jest mój kod też jej jeszcze nie skończył i jestem początkujący:TypeError: Nie można przekonwertować obiektu "int" na str niejawnie błąd python

print("Hello! Whats your name?") 
myName = input() 
print("What do you want me to do? " + myName) 
print("I can add, subtract, multiply and divide.") 
option = input('I want you to ') 
if option == 'add': 
    print('Enter a number.') 
    firstNumber = input() 
    firstNumber = int(firstNumber) 

    print('Enter another number.') 
    secondNumber = input() 
    secondNumber = int(secondNumber) 

    answer = firstNumber + secondNumber 

    print('The answer is ' + answer) 

co robi:

Hello! Whats your name? 
Jason 
What do you want me to do? Jason 
I can add, subtract, multiply and divide. 
I want you to add 
Enter a number. 
1 
Enter another number. 
1 
Traceback (most recent call last): 
File "C:/Python33/calculator.py", line 17, in <module> 
print('The answer is ' + answer) 
TypeError: Can't convert 'int' object to str implicitly 

Każda pomoc będzie mile widziane :)

Odpowiedz

3

jako komunikat o błędzie powiedzieć, ty nie można dodać obiektu int do obiektu str.

>>> 'str' + 2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: Can't convert 'int' object to str implicitly 

jawnie przekonwertować int obiektu do obiektu Str, następnie złączyć:

>>> 'str' + str(2) 
'str2' 

Albo użyć str.format metody:

>>> 'The answer is {}'.format(3) 
'The answer is 3' 
+1

Można także użyć przecinka zamiast '+' w ' funkcja print, ponieważ spowoduje konwersję dowolnych argumentów nie będących ciągami za pomocą 'str' automatycznie. – Blckknght

+1

Myślę, że mi pomogłeś :) czy miałem go wydrukować ("Odpowiedź brzmi {}." Format (odpowiedź))? – soupuhman

+1

@soupuhman, Tak, możesz zrobić "print" ("Odpowiedź brzmi: {}." Format (odpowiedź)) 'lub' print ('Odpowiedź brzmi', odpowiedz) 'jak skomentował Blckknght. – falsetru

Powiązane problemy