Sep-01-2021, 03:22 PM
(This post was last modified: Sep-01-2021, 03:22 PM by deanhystad.)
If you have two sets of numbers you can use & to get the intersection (numbers in both sets).
import random def input_unique_int(min_, max_, used_values =None): '''Input a number in range min_ to max_. used_values is a list of disallowed numbers''' while True: value = input(f'Enter a number in the range {min_} and {max_} ') try: value = int(value) except ValueError: # Input is not an integer print('Must be an integer number') continue if value < min_ or value > max_: # Input is not in range print(f'Number must be in range {min_} and {max_}') continue if used_values is not None and value in used_values : # Cannot enter values from used_values list print(f'That number is already used') continue return value winner = random.sample(range(1, 61), 5) ticket = [] for i in range(len(winner)): ticket.append(input_unique_int(1, 60, ticket)) print(f'Winning Numbers: {winner}') print(f'Your Numbers: {ticket}') matches = len(set(winner) & set(ticket)) if matches == len(winner): print('You won the lottery!!!!!') else: print(f'You matched {matches} number(s)')