猿问

循环循环变量

我有两个整数值,其中一个的位数明显少于另一个。例如:

x = 100
y = 1298411291836199301    (19 digits)

在Python中编码它的方法是什么,以便x通过循环具有相同的位数,所以我想要类似的东西:

x =  1001001001001001001   (19 digits)


慕无忌1623718
浏览 120回答 2
2回答

杨魅力

因为整数的位数只是其表示方式(以 10 为基数)的副产品,所以您必须将其转换为字符串。x = 100y = 1298411291836199301x = str(x)target_len = len(str(y))while len(x) < target_len:&nbsp; x += x# Cut off the last loop if it goes over the# desired length, and turn it back into an intx = int(x[:target_len])# >>> x# 1001001001001001001

慕哥9229398

您可以使用x = 100y = 1298411291836199301n = len(str(y))x = str(x)m = len(x)multiplier = n // m + 1x = ''.join( # join an iterable of strings into a single string&nbsp; &nbsp; (x for _ in range(multiplier)) # generator expression that returns x multiple times&nbsp; &nbsp; )[:n] # truncate the final string to the exact desired lengthx = int(x)print(x)print(y)输出10010010010010010011298411291836199301
随时随地看视频慕课网APP

相关分类

Python
我要回答