簡體   English   中英

我將如何生成一個新的隨機數

[英]How would i generate a new random number

import random
guess = '0'
while (guess) != 'exit':
    answer = random.randrange(1,100)
    answer = str(answer)
    guess = input('Enter a number between 1 and 100 or enter exit to exit: ')
    if not guess.isdigit(): 
        if guess == "exit":
            print('Game closed')
            break
        else:
            print('Your guess was not a digit, try again')
    guess = (guess)
    if guess == answer:
        print('Correct')
    elif guess > answer :
        print('Too high, try again')
    elif guess < answer :
        print('Too low, try again')

在您猜對了正確答案后,我將如何生成一個新的隨機數?

這里的主要問題是,即使您猜錯了,您實際上每次都會生成一個新的數字。 相反,您應該在循環之外生成第一個隨機數,並且僅在猜測正確的情況下才生成新的隨機數:

import random
guess = '0'
answer = random.randrange(1, 100)
while (guess) != 'exit':
    answer = str(answer)
    guess = input('Enter a number between 1 and 100 or enter exit to exit: ')
    if not guess.isdigit(): 
        if guess == "exit":
            print('Game closed')
            break
        else:
            print('Your guess was not a digit, try again')
    guess = (guess)
    if guess == answer:
        print('Correct')
        answer = random.randrange(1, 100) #make new random number if guess is correct
    elif guess > answer :
        print('Too high, try again')
    elif guess < answer :
        print('Too low, try again')

我不確定我是否正確理解您的評論。 您可以使用random.randint(a,b)來獲取整數,而不是十進制數。

https://docs.python.org/3/library/random.html#random.randint

import random
guess = '0'
answer = random.randint(1, 100)
while (guess) != 'exit':
    answer = str(answer)
    guess = input('Enter a number between 1 and 100 or enter exit to exit: ')
    if not guess.isdigit(): 
        if guess == "exit":
            print('Game closed')
            break
        else:
            print('Your guess was not a digit, try again')
    guess = (guess)
    if guess == answer:
        print('Correct')
        answer = random.randint(1, 100) #make new random number if guess is correct
    elif guess > answer :
        print('Too high, try again')
    elif guess < answer :
        print('Too low, try again')

暫無
暫無

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

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