유형 오류: '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
다음 오류가 발생했습니다.
TypeError: cannot concatenate 'str' and 'int' objects
정수에 문자열을 추가하려면 어떻게 해야 합니까?
마지막으로 발생한 문제를 해결하는 두 가지 방법이 있습니다.print
진술.
의 결과를 할당할 수 있습니다.str(c)
로 불러들입니다.c
@jamylak에 의해 올바르게 표시된 후 모든 문자열을 연결하거나 마지막 문자열을 교체할 수 있습니다.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)
아마도 당신이 찾고 있는 것일 것입니다.
문자열에 연결하거나 float을 연결하려면 다음을 사용해야 합니다.
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
그건 작동할 거야.
다른 답변 외에도 다음을 사용할 수 있습니다.format()
print("a + b as integers: {}".format(c))
예를 들어 -
hours = 13
minutes = 32
print("Time elapsed - {} hours and {} minutes".format(hours, minutes))
출력이 발생합니다.Time elapsed - 13 hours and 32 minutes
자세한 내용은 문서를 참조하십시오.
변환할 수 있습니다.int
안으로str
문자열 함수 사용:
user = "mohan"
line = str(50)
print(user + "typed" + line + "lines")
가장 쉽고 덜 혼란스러운 솔루션:
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: can continate 'str' and 'int' objects"라는 오류 메시지가 표시되었습니다.제가 인쇄할 때 변수 주위에 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()
알아요, 바보 같은 실수였지만 저처럼 파이썬을 처음 접하는 초보자들에게는 그런 일이 벌어집니다.
이것이 변수를 "로 구분하는 오류를 제거하기 위해 제가 한 일입니다."라고 도움이 되었습니다.
# Applying BODMAS
arg3 = int((2 + 3) * 45 / - 2)
arg4 = "Value "
print arg4, "is", arg3
다음은 출력입니다.
값은 -113입니다.
(프로그램이 코드 0과 함께 종료됨)
언급URL : https://stackoverflow.com/questions/11844072/typeerror-cannot-concatenate-str-and-int-objects
'programing' 카테고리의 다른 글
판다의 크기와 개수의 차이는 무엇입니까? (0) | 2023.07.19 |
---|---|
'__o' 이름이 현재 컨텍스트에 없습니다. (0) | 2023.07.19 |
데이터 프레임 문자열 열에 결측값이 있는 경우 소문자를 지정하는 방법은 무엇입니까? (0) | 2023.07.19 |
인쇄문의 출력을 캡처하는 테스트가 없습니다.어떻게 이것을 피할 수 있습니까? (0) | 2023.07.19 |
Oracle이 이 쿼리에 대해 "ORA-00918: column undiously defined"를 제기하지 않는 이유는 무엇입니까? (0) | 2023.07.19 |