2011-08-26 5 views
0
#!/usr/bin/env python 
from random import randint 
b = randint(0, 100) 
print b 
a = raw_input("Try your luck, choose number (0-100): ") 
if a.isdigit(): 
    if(a == b): 
     print 'great!' 
    else: 
     print('wrong! that number was %s' % b) 
else: 
    print "string isn't number" 

작동하지 않습니다 그리고 문제는 다음과 같습니다
62
이 번호를 선택 (0 ~ 100)에 행운을 시도
$ 파이썬 luck.py : 62
잘못! 그 숫자는
파이썬 미니 게임이 제대로

답변

3

(62) 당신은,

if a.isdigit(): 
    if(int(a) == b): 
1

b는 정수로 테스트하려고 숫자 (randint의 결과)의 문자열 (raw_input의 결과)를 비교했다. a은 문자열입니다. int(a)으로 변환해야합니다.

또한, ask forgiveness rather than permission에 더 많은 파이썬 수 있습니다 :

try: 
    if (int(a)==b): 
    print 'great!' 
    else: 
    print('wrong! that number was %s' % b) 
except ValueError: 
    print "string isn't number" 
+0

귀하의 예제 코드는 문제가 해결되지 것입니다. 여전히 문자열에서 int로 변환해야합니다. 어딘가에 int (a)를 추가하십시오. –

관련 문제