در این بازی، بازیکنان به نوبت عددی را انتخاب میکنند و تمام اعدادی که بر آن بخشپذیر هستند حذف میشوند. هر بازیکن به ازای تعداد اعداد حذف شده امتیاز میگیرد.
def remove_divisibles(num, available_numbers): \"\"\"Remove numbers that the chosen number is divisible by and return the count of removed numbers.\"\"\" removed = 0 for n in available_numbers.copy(): if num % n == 0: available_numbers.remove(n) removed += 1 return removed def print_available_numbers(available_numbers): \"\"\"Prints the current available numbers in a grid format\"\"\" print("Current available numbers:") for i in range(1, 51): if i in available_numbers: print(f"{i:2}", end=" ") else: print("--", end=" ") if i % 10 == 0: print() print() def play_game(): available_numbers = set(range(1, 51)) scores = [0, 0] turn = 0 print("Welcome to the Modified Math Game!") print("Players take turns selecting a number, and all numbers that the chosen number is divisible by are removed.") print("Each player scores points based on how many numbers they remove.") print() while available_numbers: print_available_numbers(available_numbers) print(f"Player {turn + 1}'s turn.") chosen_num = int(input("Choose a number from the available numbers: ")) if chosen_num not in available_numbers: print(f"Number {chosen_num} is not available. Please choose another number.") continue removed_count = remove_divisibles(chosen_num, available_numbers) scores[turn] += removed_count print(f"Player {turn + 1} removed {removed_count} numbers and now has {scores[turn]} points.") print() turn = 1 - turn print("Game over!") print(f"Final scores:\nPlayer 1: {scores[0]} points\nPlayer 2: {scores[1]} points") if scores[0] > scores[1]: print("Player 1 wins!") elif scores[1] > scores[0]: print("Player 2 wins!") else: print("It's a tie!") play_game()