2017-08-12 31 views
0

如何通过采取基数Python的模块化为一些

+0

首先,提供你的代码你试过的是什么 – Kallz

+0

它什么时候停止?在你的例子中,它是否会停止,因为'(7 + 3)%10'将会是'0'?或者你是否瞄准了一个设定长度的ID? – ChristianFigueroa

+0

欢迎使用堆栈溢出在本网站中,您将尝试自己编写代码。在做了更多的研究之后,如果您遇到问题,您可以发布**您尝试过的内容,并清楚说明什么不工作**并提供最小化,完整和可验证的示例。我建议阅读[如何问](https://stackoverflow.com/help/how-to-ask)一个很好的问题和[完美的问题](http://codeblog.jonskeet.uk/2010/08/29 /写最完美的 - 问题/)。另外,一定要参加[tour](https://stackoverflow.com/tour)并阅读[this](https://meta.stackoverflow.com/q/347937/6676466)。 –

回答

0

为解决一个简单的方法:

a=input() 
while len(a)<10: 
    b=int(a[len(a)-1])+int(a[len(a)-2]) 
    a=a+str(b%10) 
print (a) 

愿这一个有益的给你。

0
n= 16 

while(len(str(n)) < 10): 
    print(n) 
    a = n %10 + (int(n/10))%10 # sum of last two digits 
    n *= 10 
    n += a%10 #adding the last 

print(n) 
0

根据您的例子来创建一个itterative数10digit长,我假设你想停下来,一旦你达到一个0

某些数字,例如18将不会达到0有史以来,所以也想要添加该ID可以是最大长度。

以下代码运行数学运算,直至达到0或达到40位数。

def getID(number) 
    maxlength = 40 - len(str(number)) 
    while maxlength: 
     string = str(number) 
     answer = (int(string[-2]) + int(string[-1])) % 10 
     if answer == 0: 
      break 
     number = number * 10 + answer 
     maxlength -= 1 
    return number 


getID(14) == 1459437 
getID(15) == 15617853819 
getID(16) == 1673 
getID(18) == 17853819 
getID(18) == 189763921347189763921347189763921347189763 

18是一个重复的数字,所以循环一旦达到设定的长度就结束。