Jestem nowicjuszem i próbowałem zbudować losowy czas odliczania, który wybiera liczbę od 0 do 10 i liczy do zera z wybranego całkowitego. Wszystko podczas drukowania odliczania jednocześnie. Jednak stajemy błędów ze snu ().

import random
import time

x = random.randint(0,10)

y = time.sleep(x)

while y != 0:
    print(y)
0
codeduck 3 czerwiec 2018, 21:35

3 odpowiedzi

Najlepsza odpowiedź

To może pomóc:

import random
import time

countdown = random.randint(0,10)

for i in reversed(range(countdown)):
    print(str(i) + ' sec left')
    time.sleep(1)
5
Yakir GIladi Edry 3 czerwiec 2018, 19:22

To zrobi to, czego potrzebujesz. Interwał {{x0} jest opóźnieniem liczb, dzięki czemu powinna być stała:

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
Chris 3 czerwiec 2018, 18:46

Ten kod robi to, czego chcesz. Po prostu, w środku, podczas gdy pętla sleep 1 sekundę i zmniejsza x, aż do osiągnięcia 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!")
0
Ali Yılmaz 3 czerwiec 2018, 18:38