2016-07-08 7 views
0

私はPythonのための数々の推測ゲームを作ろうとしてきましたが、これまではかなりうまく行っています。しかし、僕を悩ませているのは、それが異なるように数字をすべてリセットするということですが、同じままにしておきたいと思ったら、それを推測することができます。私のPythonの数推測ゲーム

import os 
import time 

print("this is a random number generator") 
number1 =int(input("please pick a NUMBER between 1 and 99")) 
from random import randint 
number2 = int(randint(1,99)) 
if number1 == number2: 
    print(" congrats! you got it right") 
elif number1 < number2: 
    print ("too low try again") 
elif number1 > number2: 
    print ("too high try again") 

if number1 not in range(1,99): 
    print("you idiot! Pick a number IN THE RANGE") 

while number1 != number2: 


    print("this is a random number generator") 
    number1 =int(input("please pick a NUMBER between 1 and 99")) 
    from random import randint 
    number2 = int(randint(1,99)) 
    if number1 == number2: 
     print(" congrats! you got it right") 
    elif number1 < number2: 
     print ("too low try again") 
    elif number1 > number2: 
     print ("too high try again") 

    if number1 not in range(1,99): 
     print("you idiot! Pick a number IN THE RANGE") 



time.sleep(10) 
os.system("exit") 
+3

'number2の= INT(randint(1,99))'あなたが側にいる間にそれを取らなければならないので、あなたは、あなたのwhileループで新しい番号を生成しておきますループ。 – martijnn2008

+0

あなたが必要とする回答がある場合は、それらをupvoteして1つを受け入れて、この投稿を「未回答」のキューから削除してください。 – BusyAnt

答えて

3

あなたwhileサイクル内number2 = int(randint(1,99))を持っているので、その後、新しい番号を毎回作成します。その行をwhileの外側に置き、誰かがそれを推測するまで番号は変わりません

0

また、randint()が必要なたびにfrom random import randintをインポートする必要はありません。 import time

+0

これは答えではなく、コメントまたは回答の一部です。 – martijnn2008

2

コードには多くの問題があります。importステートメントが最初にあり、コードが重複して読みにくくなります。

whileループの各サイクルでnumber2 = int(randint(1,99))が呼び出されるという問題があります。

これはに改善することができます。

import os 
import time 
from random import randint 

print("This is a random number generator") 
number2 = int(randint(1,99)) 
while True: 
    try: 
     number1 =int(input("Please pick a NUMBER between 1 and 99\n")) 
     if number1 not in range(1,99): 
      print("You idiot! Pick a number IN THE RANGE") 
     if number1 == number2: 
      print("Congrats! You got it right") 
      break 
     elif number1 < number2: 
      print ("Too low, try again") 
     elif number1 > number2: 
      print ("Too high, try again") 
    except (ValueError, NameError, SyntaxError): 
     print("You idiot! This is not a number") 

time.sleep(10) 
os.system("exit")