2013-09-22 83 views
5

tôi đọc các câu hỏi khác nhưng điều im cố gắng làm là khác nhau im cố gắng để làm cho một máy tính thingy trong python và cố gắng để làm cho đầu vào biến vào một số nguyên để tôi có thể thêm nó. đây là mã của tôi cũng nó chưa kết thúc và im một người mới bắt đầu:LoạiError: Không thể chuyển đổi 'int' đối tượng để str lỗi hoàn toàn 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) 

những gì nó làm:

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 

bất kỳ trợ giúp sẽ được đánh giá cao :)

Trả lời

3

Như thông báo lỗi nói, bạn không thể thêm đối tượng int vào đối tượng str.

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

Rõ ràng chuyển đổi đối tượng int để đối tượng str, sau đó tiếp nhau:

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

Hoặc sử dụng str.format phương pháp:

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

Bạn cũng có thể sử dụng một dấu phẩy thay vì hơn '+' trong ' Hàm print', vì nó sẽ chuyển đổi bất kỳ đối số không phải chuỗi nào với 'str' tự động. – Blckknght

+1

tôi nghĩ rằng bạn đã giúp tôi :) là tôi phải làm cho nó in ('Câu trả lời là {}'. Định dạng (câu trả lời))? – soupuhman

+1

@soupuhman, Có, bạn có thể làm 'in ('Câu trả lời là {}'. Định dạng (câu trả lời))' hoặc 'in ('Câu trả lời là', câu trả lời) 'như Blckknght đã nhận xét. – falsetru

Các vấn đề liên quan