У вас и вашего соперника есть по 5 самодельных карт. Каждая карта помечена какой-нибудь цифрой от 0 до 9 (случайным образом, повторы возможны). Выигрывает тот, кто сумел составить наибольшее двузначное число из имеющихся у него цифр.
Напишите функцию, которая будет принимать два списка из 5 цифр каждый (первый — ваш, второй — вашего соперника) и возвращать True, если в этом раунде побеждаете вы. В случае ничьей или победы соперника возвращается False.
Разбор примера
win_round([2, 5, 2, 6, 9], [3, 7, 3, 1, 2]) ➞ True # Из ваших цифр можно составить число 96 # Ваш соперник может составить число 73 # В этом раунде побеждаете вы, потому что 96 > 73
Примеры
win_round([2, 5, 2, 6, 9], [3, 7, 3, 1, 2]) ➞ True win_round([1, 2, 3, 4, 5], [9, 8, 7, 6, 5]) ➞ False win_round([4, 3, 4, 4, 5], [3, 2, 5, 4, 1]) ➞ False
Варианты решений
def win_round(you, opp): return sorted(you)[:2:-1] > sorted(opp)[:2:-1]
def win_round(you, opp): highest = lambda x: int(''.join(map(str, sorted(x, reverse=True)[:2]))) return highest(you) > highest(opp)