二进制字符串中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
说明:
-
.lstrip('0b') —— 字符串删除前缀方法
作用:
从字符串左侧(开头)删除指定的字符序列(本例中是 '0b')。
s = '0b101'
print(s.lstrip('0b')) # 输出: '101' -
.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 次)

浙公网安备 33010602011771号