number1 = int(input('Number #1: '))
number2 = int(input('Number #2: '))
l = len(str(number1))
l1 = len(str(number2))
print()
def addition():
print(' ',max(number1,number2))
print('+')
print(' ',min(number1,number2))
print('-'*(max(l,l1)+2))
print(' ')
print(' ',number1+number2)
def carries():
while (int(str(number1)[::-1])+int(str(number2)[::-1]))>=10:
carries = 0
carries = carries + 1
return carries
addition()
print()
print('Carries : ',carries())
Я пытаюсь создать программу, которая добавляет два пользовательских ввода номера и вычисляет ответ, а также указывая, сколько носителей есть. Выполняется, если 9 + 8 = 17, тогда будет 1 перенос и т. Д. У меня проблемы с тем, что моя программа выходит за пределы 1-го. Таким образом, эта программа до сих пор применима только для пользовательских номеров ввода, которые при добавлении ниже 99. Если бы вы могли объяснить мне, как я хотел бы изменить эту программу, чтобы сделать ее применимой к любым числам, это было бы здорово. Я думал об использовании len (number1) и len (number2), а затем вводил строку ввода пользователя назад, чтобы он выглядел как str (number1 [:: - 1])), но я не думаю, что он работает так ,Дополнение содержит Python
Что именно вы имеете в виду под ручной клади? – Andriko13
У вас также есть оператор return внутри цикла while; это означает, что цикл while всегда * имеет только 1 итерацию. Если это то, что вы хотите, вам не нужен цикл while. – Andriko13
A перенос, как в случае: 25 + 75 = 100 имеет 2 переноса, поскольку имеется 2 экземпляра, в которых добавление больше 9. 5 + 5 и 2 + 7 + 1 (перенос из предыдущего добавления). – CoTaNgO