Число 6090609 имеет особенность: если его перевернуть вверх ногами (т. е. развернуть на 180 градусов), вы получите то же самое число — 6090609
Напишите функцию, которая будет принимать строку из цифр 0, 6, 9 и определять, будет ли образованное ими число после переворота тем же самым числом.
Примеры
same_upsidedown("6090609") ➞ True
same_upsidedown("9669") ➞ False
# При перевороте превращается в 6996
same_upsidedown("69069069") ➞ True
Варианты решения
def same_upsidedown(ntxt):
return ntxt == ntxt.translate(str.maketrans("69","96"))[::-1]
def same_upsidedown(txt):
d = {'0': '0', '6': '9', '9': '6'}
return all(a in d and d[a] == b for a, b in zip(txt, txt[::-1]))