我的程序应该从用户输入中获取64位数字,然后将它们分类为8个8位数字。例如,第1、9、17、25、33、41、49、57号将是第一个8位数字。 2nd,10th ...等将是第二个8位数字,依此类推,直到生成8个8位数字。
binary = input("Enter ")
for i in range(0,8):
for x in range (0,7):
if binary[i+(8*x)] == '0':
print("0",end="")
else:
print("1",end="")
print("\n")
有人可以告诉我怎么了吗?
答案 0 :(得分:0)
from random import choices
bits = "".join(choices(["0", "1"], k=64))
numbers = [bits[i::8] for i in range(8)]
print(numbers)
首先,我生成一个长度为64的字符串,只包含一个和零。您不需要执行此步骤,因为您是从用户那里获得号码的。
该程序的主要内容在下一行,这是一个可爱的列表理解功能。它生成八个字符串,每个字符串都是原始位字符串的切片子字符串。切片操作bits[i::8]
从索引i开始当前切片,步长为8(从i开始一次跳过八个字符)。