2014-03-13 8 views
1


파이썬 프로그램에서 가지고있는 문제에 약간의 의구심이 있습니다. 아주 간단한 프로그램이지만 문제가 계속 발생합니다. "암시 str에하는 'INT'개체를 변환 할 수 없습니다 형식 오류는" 정수를 문자열로 변환 할 수 없습니다.

x=int(input('Enter number 1:')) 
y=int(input('Enter number 2:')) 
z=x+y 
print('Adding your numbers together gives:'+z) 

지금,이 프로그램은 내가 실행할 때 그 말에 계속 ... 내가 당신에게 코드를 표시 할 수 있습니다.

그냥 정상적으로 실행되기를 바랍니다. 아무도 도와 줄 수 있습니까?
감사합니다. 당신이 string 파이썬에서 int을 연결하는 + 기호를 사용할 수 없기 때문에

print('Adding your numbers together gives:%s' % z) 

:

+0

'입력'줄을보고 명백한 차이점을 발견하십시오. – jonrsharpe

+0

@TomFenech 좋은 복제품이 아닙니다. 제목은 비슷하지만 질문은 다소 다릅니다. –

+0

@JohnKugelman 나는 당신의 요점을 이해합니다. –

답변

2

문제는 분명하다. 더 나은 접근 방식 : 당신은 문자열과 쉼표로 print의 인수의 나머지 부분을 분리 할 수 ​​있습니다 :

>>> x, y = 51, 49 
>>> z = x + y 
>>> print('Adding your numbers together gives:', z) 
Adding your numbers together gives: 100 
>>> print('x is', x, 'and y is', y) 
x is 51 and y is 49 

print 기능은 자동으로 변수 유형의 처리됩니다. 다음은 또한 잘 작동합니다 :

>>> print('Adding your numbers together gives:'+str(z)) 
Adding your numbers together gives:100 
>>> print('Adding your numbers together gives: {}'.format(z)) 
Adding your numbers together gives: 100 
>>> print('Adding your numbers together gives: %d' % z) 
Adding your numbers together gives: 100 
3

당신은 마지막 줄을 다시 작성해야합니다.

3

오류 메시지가 무슨 일이 일어나는지 정확하게 알려줍니다.

zint이며 문자열로 연결하려고합니다. 연결하기 전에 먼저 문자열로 변환해야합니다. 당신은 str() 기능을 사용하여이 작업을 수행 할 수 있습니다 : 당신이 strint을 연결할 수 없기 때문에

print('Adding your numbers together gives:' + str(z)) 
관련 문제