Написал программу, которая предлагает выбрать 6 уникальных чисел от 1 до 49(прям как лотерея). Затем программа начинает делать то же самое, а именно подбирать 6 уникальных чисел от 1 до 49 до тех пор, пока комбинация юзера != комбинация компа. Для ясности 12, 23, 11, 1, 45, 37 == 23, 11, 1, 45, 12, 37 (порядок не имеет значения). Суть такова, что мы как бы должны посчитать количество дней/лет, которое программе понадобится, чтобы комбинации были одинаковыми (1 попытка = 1 день).
Импортировал в код datetime, чтобы уменьшить код и не париться, но проблема в том что когда количество лет превышает 10000, то выбивает ошибочку:
Traceback (most recent call last):
File “C:\Users\Denys\Desktop\JiPP\Loteria.py”, line 17, in <module>
year_counter = datetime.datetime.now() + datetime.timedelta(days=days_counter)
OverflowError: date value out of range
И тут все понятно, что просто превышено количество дней ( в случае этой библиотеки 9999+ )
Вот код:
[code python]
import datetime
import random
days_counter = 0
choiced_user = list(map(int, input("Напиши 6 уникальных чисел от 1 до 49, разделив их пробелом:").split(' ')[:6]))
choiced_user.sort()
choiced_pc = ()
while choiced_pc != choiced_user:
choiced_pc = (random.sample(range(1, 50), 6))
choiced_pc.sort()
days_counter += 1
if choiced_pc == choiced_user:
year_counter = datetime.datetime.now() + datetime.timedelta(days=days_counter)
print(choiced_user)
print(choiced_pc)
print("Количество дней:", days_counter)
print("Ты бы выиграл в лотереи через:", year_counter, " лет")
[/code]