Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- Program symuluje losowanie gry liczbowej Lotto. Przeznaczony jest wylacznie do celow naukowych.
- '''
- # Importuje moduly odpowiedzialne za: losowanie (random) oraz operacje zwiazane z czasem (time).
- import random
- import time
- input(" Jesli jestes gotowy na dzisiejsze losowanie Totolotto wcisnij ENTER ")
- print("\n\n\n Wprowadz teraz po kolei 6 dowolych liczb z zakresu od 1 do 49,",
- "\n ktore Twoim zdaniem zostana teraz wylosowane")
- # Tworze liste do ktorej uzytkownik wprowadzi swoje typy liczbowe w dalszej czesci programu.
- # Zmienna liczba_uzytkownika posluzy do umieszczania kolejnych liczb w liscie uzytkownik.
- uzytkownik = []
- liczba_uzytkownika = 0
- '''
- Petla while ktora zbiera za pomoca zagniezdzonego inputa kolejne liczby od uzytkownika i dopisuje je po kolei na liscie.
- Po kolei oznacza ze uzytkownik.append dopisuje do konca listy kolejne wartosci wprowadzone przez uzytkownika.
- Jak widac petla bedzie dzialac dopoki ilosc pozycji na liscie uzytkownik (len(uzytkownik)) bedzie mniejsza niz 6.
- '''
- while len(uzytkownik) < 6:
- uzytkownik.append(input("\n\n Wprowadz (kolejna) liczbe do losowania: "))
- liczba_uzytkownika += 1 # To wyrazenie dodaje na liscie wartosci liczba_uztkownika + kolejny numer;
- # Oczyszczam liste z ewentualnych duplikatow. Sprowadzam ja do postaci zbioru (set()) a nastepnie znow do postaci listy.
- uzytkownik = list(set(uzytkownik))
- # Po oczyszczeniu listy, jesli pojawily sie duplikaty trzeba bedzie dopisac kolejne wartosci -> znow pobrac liczby od uzytkownika.
- while len(uzytkownik) < 6:
- print("\nNie wprowadziles (nadal) szesciu niepowtarzajacych sie liczb. Wprowadz jeszcze jedna liczbe: ")
- uzytkownik.append(input("Twoja niepowtarzajaca sie liczba od 1 do 49 to: "))
- uzytkownik = list(set(uzytkownik)) # Oczyszczamy do skutku -> czyli az bedzie 6 liczb.
- input("\nAby rozpoczac losowanie nacisnij ENTER. Powodzenia!")
- print("\n\nKomora maszyny losujacej jest pusta.")
- time.sleep(3)
- print("\nNastepuje zwolnienie blokady.")
- time.sleep(3)
- print("\nRozpoczynam losowanie.")
- time.sleep(5)
- # Rozpoczynam losowanie
- wylosowane = []
- liczba = 0
- while liczba < 6:
- wylosowane.append(random.randint(1, 49))
- liczba += 1
- wylosowane = list(set(wylosowane))
- wylosowane.sort() # Sortowanie od najmniejszej do najwiekszej.
- print("\n \n Wylosowane dzisiaj liczby to: ", "\n", wylosowane)
- wylosowane = str(wylosowane)
- uzytkownik.sort()
- print("\n \n Wprowadzone przez Ciebie liczby to: ", "\n",uzytkownik)
- uzytkownik = str(uzytkownik)
- # Teraz bardzo wazna czesc programu. Sprowadzam obie listy do postaci zbiorow.
- # Dzieki takiemu sprowadzeniu moge porownac ze soba oba zbiory, a nastepnie policzyc wspolne elementy zbioru, tj. ile liczb jest takich samych.
- s = set(uzytkownik)
- t = set(wylosowane)
- set(s &= t)
- s = list(s)
- print(s)
- '''
- # Na koniec wyswietlam uzytkownikowi komunikat zalezny od liczby trafionych liczb.
- if len(s) == 0:
- print("Niestety, nie trafiles zadnej liczby :-( ")
- elif len(s) >= 1 and len(s) <= 3:
- print("\n\nTrafiles tylko ", len(s), "liczby")
- elif len(s) > 4:
- print("\n\nGratulacje, twoj wynik to ", len(s), "trafionych liczb")
- '''
- # Czekam az uzytkownik zakonczy swoje losowanie.
- input("\n \n Aby zakonczyc losowanie wcisnij klawisz ENTER")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement