KnowsUser1
А вот пройдёт пару недель, и попроси вас объяснить, что вообще происходит в этой програмке, сможете объяснить?)
KnowsUser1
Я вот вообще не могу вникнуть, как ваше творение должно проверять чётность всех цифр в числе
KnowsUser1
зачем нужна проверка if i == len(a) - 1: break, если вы могли просто задать правую границу range() как len(a) -1, а не просто len(a)? Ваша программа будет как минимум каждую итерацию цикла тратить время на высчитывание len(a) и сравнивание этой величины
KnowsUser1
Да и вообще, я таки вник, вы проверяете что в числе все цифры одинаковые. А просят чётность.
Answers & Comments
a = list(input('Введите число: '))
b = len(a)
for i in a:
if int(i) % 2 != 0: b -= 1
if b == len(a): print('Да')
else: print('Нет')
Ответ:
import typing
from typing import Any
from typing import AnyStr
from typing import Callable
def NumericStringScan(NumString: AnyStr, predicate: Callable[[int], bool]):
for digit in NumString:
if not predicate(int(digit)): return False
return True
def main():
NumString = input('Enter number to analyse:\n')
IsAllDigitEven = NumericStringScan(NumString, lambda d: d % 2 == 0)
print('Да' if (IsAllDigitEven) else 'Нет')
if __name__ == "__main__":
main()