I let the user input a 3-digit number, and let python throw a random 3-digit number, try to see when the random number can match the input. However, everytime I run it on cmd, it prints 'Python is too tired', which is a statement I set to prevent it from looping infinitely (I really did so, until I added this limitation of attempt times).
import random
my_num = int(input('Type your 3-digit int number: '))
if my_num >= 100 and my_num < 1000:
    attempt = 0
    my_lottery = []
    my_lottery.append(int(num) for num in str(my_num))
    def lottery_throw():
        lottery = []
        i=0
        while i<3:
            lottery.append(random.randint(1,9))
            i+=1
            return(lottery)
    def check():
        global boo
        lottery_throw()
        if lottery == my_lottery:
            boo = 'true'
        else:
            boo = 'false'
    while attempt < 100000:
        check()
        attempt += 1
        if boo == 'true':
            print('you win')
            print(attempt)
            break
        elif attempt >= 100000:
            print('python is too tired')
            break
else:
    print('You must enter a 3-digit number.')
Run it on cmd, everytime I run it, it returns 'Python is too tired'
But the number of possible combinations (9C3) is only 84. It's very unlikely that python really didn't throw a correct number. How can I fix this problem?