2016-11-26 7 views
0

私は、スクリプトで選択した乱数を推測するPythonスクリプトを作成しています。並び替えの...私はそれをしようとしていたそれは...働くPythonスクリプト内で乱数が変更されています

import random 
while True: 
    number = random.randint(1, 3) 
    print("Can you guess the right number?") 
    antwoord = input("Enter a number between 1 and 3: ") 
    if antwoord == number: 
     print ("Dang, that's the correct number!") 
     print (" ") 
    else: 
     print ("Not the same!") 
     print ("The correct answer is:") 
     print (number) 

    while True: 
     answer = input('Try again? (y/n): ') 
     print (" ") 
     if answer in ('y', 'n'): 
      break 
     print("You can only answer with y or n!") 
    if answer == 'y': 
     continue 
    else: 
     print("Better next time!") 
     break 

、これに出くわした:これは私のコードです User enters 2, it says it's incorrect, but then displays the same number!

私は、毎回私は変数」と呼ぶ感覚を持っていますnumber 'に変更すると、再び乱数が変更されます。スクリプトを最初に選択した乱数を保持し、スクリプト内で変更しないようにするにはどうすればよいですか?

+0

中に乱数を割り当てないのはなぜですか? –

+0

これはPython 2または3ですか? python 3の場合は、入力を評価する必要があります( '' 'eval(input())' ') - ' '' 2 '' ''は '' '2'''と同じではありません。 – Lolgast

+0

それが@AhsanulHaqueの場合は、それは間違った番号だと説明しますが、後で同じ番号を表示し、それが選択される正しい番号だったと言いますか? – ErikB26

答えて

0

私が理解する限り、すべてのループステップで新しいランダムな整数を選びたいと思っています。 私はpython 3を使用していると思いますので、inputは文字列を返します。文字列とintの間で比較を行うことはできないので、まず入力文字列をintに変換する必要があります。

import random 
while True: 
    number = random.randint(1, 3) 
    print("Can you guess the right number?") 
    antwoord = input("Enter a number between 1 and 3: ") 
    try: 
     antwoord = int(antwoord) 
    except: 
     print ("You need to type in a number") 
    if antwoord == number: 
     print ("Dang, that's the correct number!") 
     print (" ") 
    else: 
     print ("Not the same!") 
     print ("The correct answer is:") 
     print (number) 

    while True: 
     answer = input('Try again? (y/n): ') 
     print (" ") 
     if answer in ('y', 'n'): 
      break 
     print("You can only answer with y or n!") 
    if answer == 'y': 
     continue 
    else: 
     print("Better next time!") 
     break 
+0

ありがとう!これが解決策です! – ErikB26

関連する問題