Python 3.x 将数字分成更小的组

Python 3.x 将数字分成更小的组,python-3.x,Python 3.x,我相信这个问题更倾向于发展逻辑而不是实现 我有一个6位数的int值,我需要把它分成三个,三位数 这是一项微不足道的任务,但我不能使用任何索引或切片操作 输入- rgb1 = 220020060 rgb2 = 189252201 我的预期输出是 r1 , g1, b1 = 220, 020, 060 r2, g2, b2 = 189, 252, 201 我尝试过使用divmod(),但不确定如果中间值集的形式为0x0,其中x是任何一位整数,如何获取中间值集 例如: r, rest = d

我相信这个问题更倾向于发展逻辑而不是实现

我有一个6位数的int值,我需要把它分成三个,三位数

这是一项微不足道的任务,但我不能使用任何索引或切片操作

输入-

rgb1 = 220020060

rgb2 = 189252201

我的预期输出是

r1 , g1, b1 = 220, 020, 060
r2,  g2, b2 = 189, 252, 201
我尝试过使用
divmod()
,但不确定如果中间值集的形式为
0x0
,其中
x
是任何一位整数,如何获取中间值集

例如:

r, rest = divmod(rgb1,10**6)

r = 220, rest = 20060

但我不确定如何继续提取更多的数字。

如果存在0xx大小写,我会将数字转换为字符串,因为“int”不能显示前导零

我的代码:

def拆分器(num):
r1,rest=divmod(num,10**6)
如果len(str(r1))=三:
r1=str(r1)
r1=r1.zfill(3)
如果len(str(rest))=6:
rest=str(rest)
rest=rest.zfill(6)
g1,rest=divmod(int(rest),10**3)
如果len(str(g1))=三:
g1=str(g1)
g1=g1.zfill(3)
如果len(str(rest))=三:
rest=str(rest)
rest=rest.zfill(3)
b1=休息
返回r1、g1、b1
输出:

拆分器(220020060) (220, '020', '060')
您可以编辑代码,以所需的格式显示输出

请编辑问题以显示您尝试了什么,并显示您遇到的具体障碍。有关更多信息,请参阅。这是一个很好的方法,但我有一个疑问。代码返回一个int值和两个str值,因此如果我想对“str”值执行操作,我将无法正确执行该操作?@PyWalker27我必须生成一些数字str,因为int不允许您存储以0开头的数字。但是,您仍然可以执行任何想要执行的操作。例如,让我们考虑G1和B1是STR,而R1是int。找到R1,B1和G1的和,你可以做<代码> R1+int(B1)+int(G1)< /代码>,得到和是<代码> 220 + 20 + 60=300 < /代码>是的!我有点困惑,但现在一切都好了。非常感谢。