如何将64位数字重新排列成8位数字?

2024-04-25 21:59:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我的程序应该从用户输入中获取一个64位的数字,并将它们分类为8位数字。例如,第1、9、17、25、33、41、49、57位数字将是第一个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")           

有人能告诉我怎么了吗


Tags: 用户in程序forinputif分类range
1条回答
网友
1楼 · 发布于 2024-04-25 21:59:40
from random import choices

bits = "".join(choices(["0", "1"], k=64))
numbers = [bits[i::8] for i in range(8)]
print(numbers)

首先,我生成一个长度为64的字符串,只包含1和0。你不需要做这一步,因为你从用户那里得到了你的号码

节目的肉和土豆在下一行,这是一个可爱的列表。它生成八个字符串,每个字符串都是原始位字符串的切片子字符串。切片操作bits[i::8]从索引i开始当前切片,步长为8(一次跳过8个字符,从i开始)

相关问题 更多 >