• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Opóznienia w loop i losowość listy.

Object Storage Arubacloud
0 głosów
926 wizyt
pytanie zadane 9 marca 2017 w Python przez __new__in__town Bywalec (2,100 p.)
zamknięte 11 marca 2017 przez __new__in__town

Witam. Chciałbym pobierać z listy wartości w odstępach czasowych.

Dajmy na to:


lista = ["jacek", "adam", "marcin"]

for x in lista:
     print(x)
           

Więc, chcę wypisać "jacek" a za 60 sekund chciałbym wyprintować następną wartość czyli "adam". Dodatkowo chciałbym aby wartości z listy były wybierane losowo. Na przykład: adam ---- 60 sekund czekania ----- jacek itd. Z każdym razem inna kolejność. Zapewne tutaj będzie konieczne użycie moduły random, ale nie mam pojęcia jak to wszystko posklejać.

Być może lepiej użyć słowników, przypisać cyfre jako klucz i walnąć inta? No nic, czekam na sugestie i z góry dziękuje za pomoc.

komentarz zamknięcia: Rozwiazane.

3 odpowiedzi

+1 głos
odpowiedź 10 marca 2017 przez mati2762 Mądrala (5,510 p.)



 

import time
lista = ["jacek", "adam", "marcin"]
 
for x in lista:
     time.sleep(1) # w sekundach
     print(x)


 

komentarz 10 marca 2017 przez mati2762 Mądrala (5,510 p.)
import time,random
lista = ["jacek", "adam", "marcin"]
  
for x in lista:
     time.sleep(1) # w sekundach
     print(lista[randint(0,2)])

 

+1 głos
odpowiedź 10 marca 2017 przez Svirol Nowicjusz (240 p.)
import time
from random import randrange

czas_spania = 3 #3sekundy
lista_imion = ["jacek", "adam", "marcin", "mateusz", "bartek", "andrzej"]

while True:
    time.sleep(czas_spania)
    #losujemy liczbe od 0 do 5 bo jest 6 imion w liscie
    wylosowana_liczba = randrange(len(lista_imion))
    print(lista_imion[wylosowana_liczba])

Tylko to się bedzie robić w nieskończoność. Więc musisz dorzucić warunek zakończenia, czyli pętle while zamien na for i w ten sposób będziesz mógł ograniczyć, naprzykład do 10 losowań. Lub dołożyć przerwanie po naciśnieciu klawisza np ESC żeby wysoczyć z pętli i zakończyć program. Zależy już jak tobie pasuje.

+1 głos
odpowiedź 10 marca 2017 przez mokrowski Mędrzec (155,460 p.)
#!/usr/bin/env python2
# -*- coding: utf-8 -*-

from time import sleep
from random import shuffle

def random_print(imiona, timeout = 1):
    shuffle(imiona)
    for imie in imiona:
        print(imie)
        sleep(timeout)


if __name__ == '__main__':
    lista_imion = ["jacek", "adam", "marcin"]
    random_print(lista_imion, 1.5)

Działa także w wersji 3 (zmienić wtedy nazwę interpretera w 1 linii).

Podobne pytania

0 głosów
2 odpowiedzi 1,188 wizyt
pytanie zadane 16 września 2021 w Python przez Hajpa Użytkownik (880 p.)
0 głosów
2 odpowiedzi 182 wizyt
pytanie zadane 22 maja 2019 w JavaScript przez BT101 Stary wyjadacz (12,540 p.)
0 głosów
2 odpowiedzi 314 wizyt
pytanie zadane 3 marca 2016 w C i C++ przez Artur Zaremba Nowicjusz (120 p.)

92,536 zapytań

141,376 odpowiedzi

319,451 komentarzy

61,920 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...