Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # A python template to insert your solution for this
- # riddle: https://www.idf.il/%D7%90%D7%AA%D7%A8%D7%99%D7%9D/%D7%96%D7%A8%D7%95%D7%A2-%D7%94%D7%99%D7%91%D7%A9%D7%94/2020/%D7%97%D7%99%D7%93%D7%AA-%D7%9E%D7%A6%D7%95%D7%91-%D7%9E%D7%99%D7%95%D7%97%D7%93%D7%AA-%D7%9C%D7%97%D7%A0%D7%95%D7%9B%D7%94/
- from itertools import product
- # Numbers: 0...PEOPLE_NUM-1
- PEOPLE_NUM = 2 # (100 is too slow)
- def get_all_possible_numbers(people_num: int):
- return (list(i) for i in product(range(0, people_num), repeat=people_num))
- def hide_number_in_index(numbers: list, index: int):
- numbers_copy = numbers.copy()
- numbers_copy[index] = None
- return numbers_copy
- def find_good_guess_index(guesses: list, real_numbers: list):
- for ind, guess in enumerate(guesses):
- if guess == real_numbers[ind]:
- return ind
- return -1
- # Anything you need to store before start. Readonly.
- store = ()
- def single_guess(my_ind: int, all_people_except_me: list):
- # TODO: * Your code here *
- return 1
- # Start:
- all_good = True
- for real_numbers in get_all_possible_numbers(PEOPLE_NUM):
- guesses = [single_guess(ind, hide_number_in_index(real_numbers, ind))
- for ind, num in enumerate(real_numbers)]
- good_guess_index = find_good_guess_index(guesses, real_numbers)
- is_good_guess = good_guess_index > -1
- if not is_good_guess:
- all_good = False
- message = f"GOOD! ({good_guess_index})" if is_good_guess else "*BAD!*"
- print(f'{real_numbers} TO {guesses} => {message}')
- print(f"All Good: {all_good}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement