Нужна помощь в исправлении случайного числа

db.customer.find({"customerid": {"$regex": "CU_00000*", "$options": "i"}}).pretty()

Когда мы ищем строковые шаблоны, всегда лучше использовать приведенный выше шаблон, как если бы мы не были уверены в случае. Надеюсь, что это поможет !!!

-1
задан Pikachu the Purple Wizard 27 March 2019 в 00:40
поделиться

2 ответа

Вам нужно каждый раз пересчитывать значение кубика в вашем цикле, например:

import sys
import random
import time


greeting = "Welcome to my Dice Game!"
roll = "Lets roll this die!"


print(greeting)
time.sleep(2)

answer = input("Want to play?")

while answer == "yes" or answer == "y":
    print(roll)
    time.sleep(2)
    die = random.randint(0, 6) # recompute it here instead
    print(die)
    answer = input("Want to play again?")
print("Thanks for playing!")
0
ответ дан Reedinationer 27 March 2019 в 00:40
поделиться

Когда вы запускаете команду die = random.randint(0, 6), вы говорите Python: «Используйте функцию random.randint(), чтобы выбрать случайное целое число от 1 до 6, а затем установите переменную с именем die равной целому числу, которое был выбран ". Как только это будет сделано, остальная часть вашего кода ничего не сделает для обновления значения die. Это означает, что print(die) внутри цикла просто будет продолжать печатать то значение, которое было ему изначально присвоено. Другими словами, команда die = random.randint(0, 6) не означает , означает «Повторно запустите команду random.randint(0, 6) и получите другое случайное число каждый раз, когда я ссылаюсь на die». Скорее, die - это просто некоторая переменная с определенным постоянным значением.

Поскольку random.randint() - это то, что генерирует фактическое число, один из способов постоянно обновлять die - просто переместить имеющуюся у вас команду вне цикла внутрь цикла:

while answer == "yes" or answer == "y":
    print(roll)
    die = random.randint(0, 6) # Generate a new random number, then assign it to 'die'
    time.sleep(2)
    print(die)
    answer = input("Want to play again?")
[1118 ] На самом деле, если вы ничего не делаете с номером, отличным от его печати, вы можете вообще забыть использовать переменную и просто вставить команду random.randint() внутри вашей команды print:

while answer == "yes" or answer == "y":
    print(roll)
    time.sleep(2)
    print(random.randint(0, 6))
    answer = input("Want to play again?")
0
ответ дан Bill M. 27 March 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: