簡體   English   中英

猜隨機數為什么我無法輸入 - python

[英]Guess Random Number Why i m not able to enter input - python

下面是我的代碼,用於生成 0 - 9 之間的隨機數,並檢查用戶輸入是否高於或等於。 當我運行代碼時,它沒有輸入並顯示

'guessNumber = int(input("Guess a Random number between 0-9")) File "", line 1 中的錯誤

有人可以告訴我我哪里出錯了

#Guess Random Number
#Generate a Random number between 0 to 9

 import random
 turn = 0

 def guessRandom():
    secretNumber = random.randint(0,9)
    guessNumber = int(input("Guess a Random number between 0-9"))
    while secretNumber != guessNumber:
       if(secretNumber > guessNumber):
          input("You have Guessed the number higher than secretNumber. Guess Again!")
          turn = turn + 1
       elif (secretNumber < guessNumber):
          input("You have guessed the number lower than secretNumber. Guess Again! ")
       turn = turn + 1
    if(secretNumber == guessNumber):
        print("you Have Guessed it Right!")

guessRandom() 

我認為guessRandom()應該在方法定義之外,以便調用該方法。 guessNumber變量永遠不會改變,因為輸入沒有被分配為guessNumber ,因此它會不斷檢查初始猜測。 此外,小於/大於符號似乎與預期信息相沖突。 此外, turn超出了該方法的范圍。

#Generate a Random number between 0 to 9

import random


def guessRandom():
    secretNumber = random.randint(0, 9)
    guessNumber = int(input("Guess a Random number between 0-9: "))

    i = 0
    while secretNumber != guessNumber:
        if secretNumber < guessNumber:
            print "You have guessed a number higher than secretNumber."
            i += 1
        elif secretNumber > guessNumber:
            print "You have guessed a number lower than secretNumber."
            i += 1
        else:
            print("you Have Guessed it Right!")

        guessNumber = int(input("Guess Again! "))

    return i

turn = 0
turn += guessRandom()

編輯:假設您在 Python3 中使用input (或在舊版本的 Python 中使用raw_input ),您可能希望排除ValueError以防有人輸入字符串。 例如,

#Generate a Random number between 0 to 9

import random


def guessRandom():
    secretNumber = random.randint(0, 9)
    guessNumber = input("Guess a Random number between 0-9: ")

    i = 0
    while True:
        try:
            guessNumber = int(guessNumber)
        except ValueError:
            pass
        else:
            if secretNumber < guessNumber:
                print "You have guessed a number higher than secretNumber."
                i += 1
            elif secretNumber > guessNumber:
                print "You have guessed a number lower than secretNumber."
                i += 1
            else:
                print("you Have Guessed it Right!")
                break

        guessNumber = input("Guess Again! ")
    return i

turn = 0
turn += guessRandom()

我將while循環條件更改為True並添加了一個中斷,否則它將無限循環(將整數與字符串輸入值進行比較)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM