programing tip

Python : TypeError : 'str'및 'int'개체를 연결할 수 없습니다.

itbloger 2020. 6. 19. 19:53
반응형

Python : TypeError : 'str'및 'int'개체를 연결할 수 없습니다.


이 질문에는 이미 답변이 있습니다.

문자열을 정수에 추가하는이 파이썬 프로그램이 있습니다.

a = raw_input("Enter a: ")
b = raw_input("Enter b: ")
print "a + b as strings: " + a + b
a = int(a)
b = int(b)
c = a + b
str(c)
print "a + b as integers: " + c

이 오류가 발생합니다.

Python: TypeError: cannot concatenate 'str' and 'int' objects

정수에 문자열을 어떻게 추가합니까?


마지막 print설명으로 인해 발생하는 문제를 해결하는 방법에는 두 가지가 있습니다 .

@jamylak이 올바르게 표시 한대로 str(c)호출 결과를 할당 한 c다음 모든 문자열을 연결하거나 마지막을 print간단히 다음과 같이 바꿀 수 있습니다 .

print "a + b as integers: ", c  # note the comma here

어떤 경우

str(c)

필요하지 않으며 삭제할 수 있습니다.

샘플 런의 출력 :

Enter a: 3
Enter b: 7
a + b as strings:  37
a + b as integers:  10

와:

a = raw_input("Enter a: ")
b = raw_input("Enter b: ")
print "a + b as strings: " + a + b  # + everywhere is ok since all are strings
a = int(a)
b = int(b)
c = a + b
print "a + b as integers: ", c

str(c) 문자열 표현을 반환하고 자체적으로 c변경하지 않습니다 c.

c = str(c) 

아마 당신이 찾고있는 것입니다


int를 연결하거나 문자열로 부동하려면 다음을 사용해야합니다.

i = 123
a = "foobar"
s = a + str(i)

c = a + b 
str(c)

실제로,이 마지막 행에서 변수 c의 유형을 변경하지 않습니다. 당신이 할 경우

c_str=str(c)
print "a + b as integers: " + c_str

작동해야합니다.


가장 쉽고 가장 혼란스러운 솔루션 :

a = raw_input("Enter a: ")
b = raw_input("Enter b: ")
print "a + b as strings: %s" % a  + b
a = int(a)
b = int(b)
c = a + b
print "a + b as integers: %d" % c

나는 이것을 http://freecodeszone.blogspot.com/ 에서 찾았다.


또한 "TypeError : 'str'및 'int'개체를 연결할 수 없습니다"라는 오류 메시지가 나타납니다. 인쇄 할 때 변수 주위에 str ()을 추가하는 것을 잊어 버린 것으로 나타났습니다. 내 코드는 다음과 같습니다.

def main():
	rolling = True; import random
	while rolling:
		roll = input("ENTER = roll; Q = quit ")
		if roll.lower() != 'q':
			num = (random.randint(1,6))
			print("----------------------"); print("you rolled " + str(num))
		else:
			rolling = False
main()

나는 바보 같은 실수 였지만, 나 같은 파이썬을 처음 접하는 초보자에게는 이런 일이 발생한다.


문자열 함수 intstr사용하여 로 변환 할 수 있습니다 .

user = "mohan"

line = str(50)

print(user + "typed" + line + "lines")

이것이 변수를 ""로 분리하는이 오류를 제거하기 위해 내가 한 일입니다. "

# Applying BODMAS 
arg3 = int((2 + 3) * 45 / - 2)
arg4 = "Value "
print arg4, "is", arg3

출력은 다음과 같습니다

값은 -113입니다

(코드와 함께 종료 된 프로그램 : 0)


Apart from other answers, one could also use format()

print("a + b as integers: {}".format(c))

For example -

hours = 13
minutes = 32
print("Time elapsed - {} hours and {} minutes".format(hours, minutes))

will result in output - Time elapsed - 13 hours and 32 minutes

참고URL : https://stackoverflow.com/questions/11844072/python-typeerror-cannot-concatenate-str-and-int-objects

반응형