2015-03-08 168 views
1

時寫在那裏你猜1和100之間的隨機生成的數字中的程序是一個整數或者字符串:如何檢查是否輸入了一個值使用輸入

from random import randint 
play='y' 
print 'Guess a number between 1 and 100' 

while play=='y': 
    x = randint(1,100) 
    guess=1000 
    while guess != x: 
     guess=input('Guess: ') 
     if guess < x: 
      print 'Higher' 
     if guess > x: 
      print 'Lower' 
    print 'You got it! Good Job! The number was ' + str(x) 
    play=raw_input('Would you like to play again(y/n)?: ') 

raw_input("Press <enter> to exit") 

當用戶進入一個猜測,是不一個整數如何打印這不是一個數字,然後讓他們繼續猜測?

回答

0

使用一個while True循環重複該問題,直到它breaks。如果try不會產生ValueError,則只有這樣才能打破循環。 int()在遇到類似'hello''1.2'時會產生錯誤。

此外,使用raw_input而不是input(注意:raw_input將字符串分配給guess)。

while True:  
    guess=raw_input('Guess: ') 
    try: 
     int(guess)   
     break 
    except ValueError: 
     print '\nNot an int, try again.' 

更具體地,後while guess != x:if guess < x之前插入此。

相關問題