2016-11-17 5 views
-4

동일한 오류가 계속 발생하고 왜 그런지 모르겠지만 저는 파이썬에 익숙하지 않고 임의의 숫자를 추측 할 수있는 작은 프로젝트를 시도하고 있습니다! 여기 내 코드는 다음과 같습니다.계속 "TypeError : 'int'객체를 호출 할 수 없습니다."

import random 

number_guess = int(input("Enter a random number between 1 - 100 please!")) 
random_number = random.randrange(0,100) 

if number_guess == random_number(): 
    print("Correct! The number was " + random_number + "!") 
else: 
    print("Wrong! The real number was " + random_number + "!") 
+0

괄호를 제거()'후'random_number'': 같은

그래서 최종 프로젝트가 보일 것입니다. –

답변

1

잎이 하나의 오류로 여기에 명시된 것은 if 문에서 변수를 호출하는 random_number()와 괄호를 제거해야한다는 것입니다.

또 하나의 문제는 int에 문자열을 추가하려고 시도했으나 수행 할 수 없다는 것입니다. print 문에서 '+'를 쉼표로 바꾸면 프로그램이 의도 한대로 완벽하게 실행됩니다!

실제로 1 ~ 100의 값을 원하면 0으로 설정 한 것처럼 시작 숫자를 1로 설정해야합니다. 0을 얻을 기회가 있으며 최대 값을 100으로 설정하면 당신은 결코 99보다 큰 값을 얻지 못할 것입니다. 이것은 100의 추측이 결코 정확하지 않음을 의미합니다.

import random 

number_guess = int(input("Enter a random number between 1 - 100 please! ")) 
random_number = random.randrange(1,101) 

if number_guess == random_number: 
    print("Correct! The number was ", random_number, "!") 
else: 
    print("Wrong! The real number was ", random_number, "!") 
1

random.randrange()은 지정된 범위 사이의 임의의 정수를 반환합니다. The documentation states this quit clearly : 다음의 random_number

random.randrange(start, stop[, step])

Return a randomly selected element from range (start, stop, step) . This is equivalent to choice (range(start, stop, step)) , but doesn’t actually build a range object.

값 호출없는 타입 int, 이다. 당신 if 문에서는 괄호를 쓸 필요가 없습니다. 괄호 쌍없이 random_number이라고 쓰십시오.

관련 문제