将整数拆分为较小的整数

时间:2013-12-05 04:09:10

标签: python split integer

我有一个数字,我想分成较小数量的等长。 假设,我的号码是212313454 我现在想把它分成3个3位数字:  212,313和454

如果我想随机拆分怎么办?我的意思是 212313454成 213,354,114 有没有办法做到这一点?

5 个答案:

答案 0 :(得分:2)

您可以使用模运算符%和除法运算符/,并将除数形成为10^n,其中n是每个拆分结果中的位数。

答案 1 :(得分:2)

将它们转换为字符串然后拆分它们。像:

s = str(212313454)
a = s[0:3]
b = s[3:6]
c = s[6:]

为可变长度数使用循环。

答案 2 :(得分:1)

我很抱歉,但你的问题很模糊(是的,我知道人们已“回答”了这个问题......)。

  • “将[数字]分成较小数量的等长”。你的例子,因此每个人的答案都假设你只有9个十进制数字并想要三个较小的整数,但是如果你有更长或更短的数字,或者想要更多/更少的细分呢?

  • 随机将“212313454分成213,354,114”。这些较小的数字与较大的#完全相关的是什么?如果我的眼睛正常工作,213不在212313454。如果你想从整数中选择随机数,你可以这样做。

最后,如果你只是在试验有趣,很酷,但你应该考虑一下将整数变成字符串来回来回。你应该检查的python中的很多数学例程都在标准库中,例如数学模块,随机模块和按位运算符。

答案 3 :(得分:0)

我不打算为你编写代码,但这是一个简单的方法:

  • 将int设为字符串

  • 将每个3个字符的字符串拆分

  • 一旦你这样做迭代列表并将字符串重新转换成整数

我想如果你尝试的话,你可以搞清楚!

祝你好运:)

答案 4 :(得分:0)

将整数转换为字符串adn的最简单方法然后再将其更改回int ... 这就是我要做的......

<强>代码:

c = 212313454

def splits(c,length):
    l = [c[i:i+3] for i in range(0,len(c),3)]
    print map(int,l)

if __name__=='__main__':
    splits(str(c),3) 

<强>输出:

[212, 313, 454]

希望这会有所帮助:)