我是新来的,对python编程也不熟悉。我最近开始了一个在线粗集,想看看是否有一个更简单的方法,我可以创建一个12位随机十六进制列表。我希望每个位都是随机数或字母,可以是小写或大写。根据我的新手研究,这是我能找到的最好的,并且创建了我自己的代码。。所以我能做得更简单更有效吗?你知道吗
#!/user/bin/python
import string
import random
r1 = random.choice(string.hexdigits)
r2 = random.choice(string.hexdigits)
r3 = random.choice(string.hexdigits)
r4 = random.choice(string.hexdigits)
r5 = random.choice(string.hexdigits)
r6 = random.choice(string.hexdigits)
r7 = random.choice(string.hexdigits)
r8 = random.choice(string.hexdigits)
r9 = random.choice(string.hexdigits)
r10 = random.choice(string.hexdigits)
r11 = random.choice(string.hexdigits)
r12 = random.choice(string.hexdigits)
randnumb = r1+r2+":"+r3+r4+":"+r5+r6+":"+r7+r8+":"+r9+r10+":"+r11+r12
print(randnumb)
可以将循环与^{} 一起使用:
它将两个随机的十六进制数字组合6次,相当于12个单独的调用。你知道吗
或者正如@Jon Clements在评论中建议的那样:
它使用十六进制格式} 跨所有256个ASCII字符。你知道吗
'x'
和^{此外,为了超级安全,您可以使用
02x
/02X
将格式填充为2个字符:x
是小写十六进制,X
是大写十六进制。最好在这里保持一致,以避免奇怪的小写和大写混合。这种一致性的一个例子是MAC地址,其中十六进制字符串仅为小写。你知道吗您可以在Format Specification Mini-Language中阅读更多关于它及其变体的信息。你知道吗
您可以做的另一件事是用
random.randrange(256)
替换choice(range(256))
,避免使用range()
。你知道吗相关问题 更多 >
编程相关推荐