python加2位数字

python addition 2 digit number

我正在研究算法。练习包括输入 2 位数字(10 到 99 之间),然后将这两位数字相加。我在 python 中完成了它并且它有效,但我的老师说还有另一种方法可以在没有我正在使用的转换的情况下完成它。你能帮助我吗?有没有更好的办法?谢谢

for i in range(5):
    add = 0
    num = input("Number: ")
    num = int(num)
    if num > 9 and num < 100:
        num = str(num)
        add = int(num[0]) + int(num[1])
        print("The addition of the two digits is: " + str(add))
    else:
        print("It is not a two digit number.")

我认为他的意思是:

(num // 10) + (num % 10)

使用 num // 10 可以用 10 进行整数除法。但这是第一个数字。使用 num % 10 可以得到除法的余数,即第二位数字。例如:

>>> 67 // 10
6
>>> 67 % 10
7

最简洁的方式一定是:

sum(divmod(num, 10))

因为divmod用10做整数除法,同时求余数。所以用 sum 我们得到这两个数字的总和。例如:

>>> divmod(67, 10)
(6, 7)
>>> sum(divmod(67, 10))
13
rem = num%10
quotient = int(num/10)

sum = rem+quotient
print sum

我想这应该足够了。