为了账号安全,请及时绑定邮箱和手机立即绑定

循环循环变量

循环循环变量

慕无忌1623718 2023-07-27 16:45:41
我有两个整数值,其中一个的位数明显少于另一个。例如:x = 100 y = 1298411291836199301    (19 digits)在Python中编码它的方法是什么,以便x通过循环具有相同的位数,所以我想要类似的东西:x =  1001001001001001001   (19 digits)
查看完整描述

2 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

因为整数的位数只是其表示方式(以 10 为基数)的副产品,所以您必须将其转换为字符串。


x = 100

y = 1298411291836199301


x = str(x)

target_len = len(str(y))


while len(x) < target_len:

  x += x


# Cut off the last loop if it goes over the

# desired length, and turn it back into an int

x = int(x[:target_len])


# >>> x

# 1001001001001001001


查看完整回答
反对 回复 2023-07-27
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

您可以使用


x = 100

y = 1298411291836199301


n = len(str(y))

x = str(x)

m = len(x)

multiplier = n // m + 1


x = ''.join( # join an iterable of strings into a single string

    (x for _ in range(multiplier)) # generator expression that returns x multiple times

    )[:n] # truncate the final string to the exact desired length

x = int(x)


print(x)

print(y)

输出


1001001001001001001

1298411291836199301


查看完整回答
反对 回复 2023-07-27
  • 2 回答
  • 0 关注
  • 119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信