Для меня:
Магическое число: Если сумма цифр числа становится равной 1, пока длина результирующего числа не станет 1, называется магическим числом.
пример : 1 [сумма: 1], 10 [сумма: 1 + 0 = 1], 91 [сумма: пароль1: 9 + 1 = 10, пароль 2: 1 + 0 = 1], 100 [сумма: 1 + 0 + 0 = 1] вот так.
Проблема в : Мой код работает нормально для ввода: 91, сумма цифр 91: pass1: 9 + 1 = 10, pass2: 1 + 0 = 1. Отображается правильный вывод , Но не работает для любого другого ввода, например: 100, 55 и т. Д.
Код:
def Single_Digit_Summer(num):
sum = 0
while num > 0:
sum += num % 10
num = num // 10
return Single_Digit_Summer(sum) if sum > 9 else sum
num15 = int(input("Enter number to check: "))
sum2 = Single_Digit_Summer(num15)
print(num15, "is a magic number.") if sum2 == 1 else print(num15, "is not a magic number.")
Выход:
Case - 1:
Terminal: Enter number to check:
Terminal input:91
Terminal output: 91 is a magic number.
Actual var 'sum' value: 1
Expected var 'sum' value: 1
Expected output: 91 is a magic number.
Decision: OK
Case - 2:
Terminal: Enter number to check:
Terminal input:100
Terminal output: 100 is not a magic number.
Actual var 'sum' value: 0
Expected var 'sum' value: 1
Expected output: 100 is a magic number.
Decision: Wrong Output
Case - 3:
Terminal: Enter number to check:
Terminal input:55
Terminal output: 55 is not a magic number.
Actual var 'sum' value: 5
Expected var 'sum' value: 1
Expected output: 55 is a magic number.
Decision: Wrong Output
Case - 4:
Terminal: Enter number to check:
Terminal input: 1009
Terminal output: 1009 is not a magic number.
Actual var 'sum' value: 9
Expected var 'sum' value: 1
Expected output: 1009 is a magic number.
Decision: Wrong Output
Требования:
Я не могу найти, почему мой код не работает. помоги мне отладку.