You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python统计整数输入及Bytes转二进制后的分组数量?

一、统计整数输入的数量

场景1:输入一行空格分隔的整数

读取输入后按空格分割,转换为整数列表后统计长度:

input_str = input("请输入空格分隔的整数:")
int_list = list(map(int, input_str.split()))
count = len(int_list)
print(f"整数输入数量:{count}")

场景2:逐个输入直到终止

通过循环接收输入,判断是否为有效整数,计数至输入终止符(如q):

count = 0
while True:
    user_input = input("请输入整数(输入q结束):")
    if user_input.lower() == 'q':
        break
    try:
        int(user_input)
        count += 1
    except ValueError:
        print("输入不是有效整数,请重新输入")
print(f"整数输入数量:{count}")
二、统计二进制分组数量(解决split报错问题)

首先优化你的biner函数,移除冗余代码:

def biner(password):
    return ' '.join(f'{my_byte:0>8b}' for my_byte in password)

方法1:基于转换后的字符串统计

函数返回的是字符串类型,直接用split()分割分组后取长度即可:

byte_data = b'\xd8\xe9\xbdR'
binary_str = biner(byte_data)
group_count = len(binary_str.split())
print(f"二进制分组数量:{group_count}")  # 输出4

之前报错是因为误在bytes对象上调用split(),确保调用对象是转换后的字符串即可。

方法2:直接统计原bytes长度(更高效)

每个字节对应一个8位二进制分组,因此分组数量等于原bytes对象的长度,无需转换字符串:

byte_data = b'\xd8\xe9\xbdR'
group_count = len(byte_data)
print(f"二进制分组数量:{group_count}")  # 输出4

内容的提问来源于stack exchange,提问作者HelpMe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:20:39