Как правильно использовать sleep с print и random в python - PullRequest
0 голосов
/ 03 июня 2018

Я новичок, и я пытался построить случайный таймер обратного отсчета, который выбирает число от 0 до 10 и считает до нуля из выбранного целого числа.Все во время печати обратного отсчета одновременно.Тем не менее, я продолжаю получать ошибки из сна ().

import random
import time

x = random.randint(0,10)

y = time.sleep(x)

while y != 0:
    print(y)

Ответы [ 3 ]

0 голосов
/ 03 июня 2018

Это будет делать то, что вам нужно.Интервал sleep - это задержка между числами, поэтому она должна быть постоянной:

from random import randint
from time import sleep

x = randint(0,10)

def countdown(start_time):
    print("Counting from " + str(start_time))
    for n in range((start_time + 1)):
        y = start_time - n
        print(y)
        sleep(1) # Assumes 1 second delay between numbers

if __name__ == "__main__":
    countdown(x)
0 голосов
/ 03 июня 2018

Это может вам помочь:

import random
import time

countdown = random.randint(0,10)

for i in reversed(range(countdown)):
    print(str(i) + ' sec left')
    time.sleep(1)
0 голосов
/ 03 июня 2018

Этот код делает то, что вы хотите.Просто внутри цикла while мы sleep 1 секунда и уменьшаем x, пока не достигнем x=0.

import random
import time

x = random.randint(0, 10)
print("Starting countdown!")
while x>0:
   print(x)
   time.sleep(1)
   x-=1
print("Countdown ended!")
...