• 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.

VPS Starter Arubacloud
0 głosów
893 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,171 wizyt
pytanie zadane 16 września 2021 w Python przez Hajpa Użytkownik (880 p.)
0 głosów
2 odpowiedzi 181 wizyt
pytanie zadane 22 maja 2019 w JavaScript przez BT101 Stary wyjadacz (12,540 p.)
0 głosów
2 odpowiedzi 309 wizyt
pytanie zadane 3 marca 2016 w C i C++ przez Artur Zaremba Nowicjusz (120 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...