2013-07-06 2 views
1

나는 책에서 도움을 받아 파이썬에서 숫자 게임 (컴퓨터가 높은/낮은 입력을 사용한다고 생각하는 숫자를 추측)을 추측합니다. 나는 어제 파이썬을 배우기 시작했고 오늘 하루 종일 도움을 청했으나 혼란스러워합니다. 다음은 코드 (지금까지)와 오류입니다.Python "추측 번호"오류

import random 
print("Welcome to the Pick a Number Game! Pick a number between 1 and 10 and I \n will guess it!") 
number = random.randint (1, 10) 
print("Are you thinking of", number,"?") 
guess = input("Am I right on, higher, or lower? ") 
if guess == "higher": 
    number2 = random.randint (number, 10) 
    input("Are you thinking of", number2,"?")  
elif guess == "lower": 
    number3 = random.randint (1, number) 
    input("Are you thinking of", number3,"?")        
elif guess == "right on": 
    print("I won! Thanks for playing!") 
    input("Press the enter key to exit.") 

오류 :

Traceback (most recent call last): 
    File "C:\Users\Adam\Desktop\Number Challenge.py", line 8, in <module> 
    input("Are you thinking of", number2,"?") 
TypeError: input expected at most 1 arguments, got 3 

내가 잃어버린, 그리고 난 비슷한 질문들의 대답을 이해하지 않습니다. 코드에 대한 해결책과 설명을 주시면 감사하겠습니다. 도와 주셔서 감사합니다!

답변

1

귀하의 코드는 입력 기능에 쉼표 때문에 3 개의 인수를 추가한다고 생각합니다. 연결 사용 :

input("Are you thinking of " + str(number2) + " ?") 

여기에서 str()을 호출하여 정수를 문자열로 변환합니다. 우리는 정수와 문자열로 연결할 수 없습니다. 그들은 같은 유형이어야합니다.

input("Are you thinking of {} ?".format(number2)) 
+0

나는 당신의 변화를 추가 할 때 그것은 나에게 오류를 제공합니다 : 역 추적 (마지막으로 가장 최근에 호출) : 파일을 "C : \ 사용자 아담 \ 바탕 화면 \ 수 도전 \

또한 .format() 사용할 수 입력 "(당신은"+ 숫자 2 + "를 생각하고 있습니까?") TypeError : 'int'객체를 str 암시 적으로 str으로 변환 할 수 없습니다. –

+0

아, 타입 오류가 발생할 수 있습니다. . 고정 – TerryA

+0

@ 보스 보스 내 대답을 편집했습니다. – TerryA