二进制字符串中1的个数

编写一个程序来计算整数的二进制表示中1的个数。

定义函数count_binary_ones(),参数为数字num。
在函数内,将数字转换为其二进制表示,并计算“1”的个数。

def count_binary_ones(num):
# 将数字转换为二进制字符串,去掉前缀 '0b',然后统计 '1' 的个数
binary_str = bin(num).lstrip('0b')
return binary_str.count('1')

示例调用

print(count_binary_ones(5)) # 5 的二进制是 101,输出 2

说明:

  1. .lstrip('0b') —— 字符串删除前缀方法
    作用:
    从字符串左侧(开头)删除指定的字符序列(本例中是 '0b')。
    s = '0b101'
    print(s.lstrip('0b')) # 输出: '101'

  2. .count('1') —— 字符串统计字符 / 子串出现次数的方法
    s = '101'
    print(s.count('1')) # 输出: 2(字符 '1' 出现 2 次)
    print(s.count('0')) # 输出: 1(字符 '0' 出现 1 次)
    print(s.count('10')) # 输出: 1(子串 '10' 出现 1 次)

posted @ 2025-05-22 23:11  小白191  阅读(43)  评论(0)    收藏  举报