我正在研究算法。练习包括放置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.")
答案 0 :(得分:6)
我认为他的意思是:
(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
答案 1 :(得分:0)
rem = num%10
quotient = int(num/10)
sum = rem+quotient
print sum
我想这应该足够了。