Ха-ха, какая глупая ошибка! Спасибо ... Я только что выучил функции на этой неделе. Вот итоговая программа:
Задание 12 «Нечетный» - срок исполнения 5.1.2020
Попросите пользователя ввести номер. Номер действителен, если цифры нечетной позиции складываются с цифрами четной позиции. Например, 1234 недопустимо, потому что 1 + 3! = 2 + 4, но 1232 действительно, потому что 1 + 3 = 2 + 2. Ваша программа должна использовать функции, которые мы обсуждали в видео. В частности: Ваша программа должна принимать входные данные от пользователя в функции main (). Основная функция должна вызывать функцию с именем oddEvenSame с введенным номером. Функция oddEvenSame должна возвращать True, если полученное число действительно, в противном случае она должна возвращать False. Вы должны вывести Invalid или Valid в своей основной функции в зависимости от того, что вернул oddEvenSame. Примечание: Вы можете предположить, что пользователь введет число с четным числом цифр
def main():
# Get Input Number
n = int(input("Enter a number:"))
# Call <oddEvenSame()>
if oddEvenSame(n) == True:
print("Valid")
else:
print("Invalid")
def oddEvenSame(n):
# Split all digits of <n> into their own index within <digits>
digits = [int(i) for i in str(n)]
# Add even indecies of <digits> into <even>
even = 0
for j in range(0, len(digits), 2):
even += digits[j]
# Add odd indecies of <digits> into <odd>
odd = 0
for k in range(1, len(digits), 2):
odd += digits[k]
# Check if odd digits add up to even digits
if odd == even:
return True
else:
return False
# Call <main()>
main()