Jak to się mówi nowy dzień, nowy kod ;)
Wykonałem dwa zadania w jednym, jeżeli ktoś ma czas to proszę ocenę kodu. Czy można to było zrobić lepiej i szybciej.
Generalnie coś w stylu zabawy w lotto.
Zadanie 1 polegało na stworzeniu kodu, który spośród 10 liter i 5 cyfr wylosuje 4 i zwróci je w postaci listy. W kodzie jest zapisany jako funkcja drawing()
Zadanie 2 polegało na sprawdzeniu ile razy trzeba wykonać losowanie aby powtórzyć wylosowany kupon. Na tym etapie połączyłem dwa zadania i kupon jest generowany automatycznie a później przeprowadzana jest iteracja do momentu jego powtórzenia. Na koniec wyświetlany jest wynik ile iteracji trzeba było wykonać aby powtórzyć wynik.
"""we create a drawing machine"""
from random import choice
def drawing():
"""drawing an elements from list"""
colection_of_elements = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 1, 2, 3, 4, 5]
list1 = []
for element in colection_of_elements:
if len(list1) <= 3:
element = choice(colection_of_elements)
colection_of_elements.remove(element)
list1.append(element)
else:
break
return list1
def how_many_times():
"""How many iterations are needed to repeat the result"""
count = 1
print(f"Mój kupon zawiera: \n\t{my_ticket}")
while True:
ticket_2 = drawing()
if ticket_2 == my_ticket:
print(f"Kupon {ticket_2} został ponownie wylosowany po {count} iteracjach.")
break
else:
count += 1
my_ticket = drawing()
print(f"Wygrywający kutpon zawiera: \n\t{my_ticket}")
print('\nSprawdźmy, za którym razem powtórzy się wynik z kuponu.')
ticket_2 = how_many_times()