现在,我将列表中的每个片段[]分别转换为int(),然后将它们逐个相加。我知道我正在使用一个非常低效的方法,并希望得到一些反馈,我应该如何着手清理这个。你知道吗
我们的目标是取一个像123这样的数字,将每个数字分开,然后将它们相加,得到一个数字6。如果使用if语句,那么如果我使用一个更大的数字,比如655,并且以16结束,那么这个数字将再次被分隔为“1”、“6”,再加起来等于7,一个单一的数字。你知道吗
虽然现在我只限于长度为3的数字,因为我不知道如何转换整个字符串。你知道吗
val = input('Enter Value:')
#val = int(val)
#individual value
ival = list(val)
iv0 = int(ival[0])
iv1 = int(ival[1])
iv2 = int(ival[2])
print(iv2)
ivs = (iv0+iv1+iv2)
print(ivs)
if ivs > 9:
ivs = str(ivs)
ivss = list(ivs)
fiv0 = int(ivss[0])
fiv1 = int(ivss[1])
fivs = (fiv0+fiv1)
print(fivs)
if fivs > 9:
fivs = str(fivs)
ivss = list(fivs)
fiv0 = int(ivss[0])
fiv1 = int(ivss[1])
fivs = (fiv0+fiv1)
print(fivs)
else:
print(ivs)
你可以用算术的方法来计算,但我认为最简单的方法是得到数字的字符串表示形式并使用它。你知道吗
这应该是你想要的:
你可以用这个密码。你知道吗
这正是你所描述的。然而,有一个更简单的方法。重复地加上一个数字的十进制数字叫做casting out nines,结果就是这个数字的digital root。这几乎等于数字被9除后的余数,只是希望得到
9
而不是0
的结果。所以更简单更快的代码或者是更短但更棘手的
或者更棘手的问题
(请注意,我在给this previous question的答案中包含了这些信息。)
相关问题 更多 >
编程相关推荐