尝试生成具有给定前缀的一定长度的信用卡号。
while len(str(cc_number)) < (len(str(length)) - 1):
digit = str(random.randrange(0, 9))
cc_number = str(cc_number) + str((digit))
return cc_number
我希望得到长度为16位的数字,并带有可变大小的前缀。我如何使这段代码生成正确大小的数字字符串?这段代码仅将1个随机数字连接到字符串的末尾...所以我希望得到'4349578451278456',但实际输出为'41'
答案 0 :(得分:0)
如果长度为16,str(length)
将为您提供字符串'16',其中len
为2。只需使用length
,不要使用len或str。
除此之外,您的return语句应该在循环之外
答案 1 :(得分:0)
由于您已经在使用random
模块,所以我只想提供一种替代解决方案:
from random import choices
from string import digits
cc_digits = choices(digits, k=16)
cc_number = "".join(cc_digits)
print(cc_number)