计算列表中包含0多于1的元素数

2024-10-02 12:36:29 发布

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

我是python编程新手,我的任务是告诉列表中有多少二进制值,其中0的数量大于1。此任务的数据在一个文本文件中,我已打开该文件,并将每行文本放入列表中的separet值中

binary = list()
file = 'liczby.txt'
with open(file) as fin:
    for line in fin:
        binary.append(line)
print(*binary, sep = "\n")

现在我被卡住了


Tags: 文件数据文本列表数量编程line二进制
2条回答
more_zeros = 0
file = 'liczby.txt'
with open(file) as fin:
    for line in fin:
        if line.count('0') > line.count('1'):
            more_zeros += 1
print(more_zeros)
Out[1]: 6 # based on the 17 lines you gave me in your comment above
def count(fname):
    cnt = 0
    with open(fname, newline='') as f:
        for line in f:
            if line.count('0') > line.count('1'):
                cnt += 1
    return cnt

print(count('/tmp/g.data'))

help(str),有很多有用的函数

编辑:
如果您喜欢极简表示法,可以使用;-)
包括尼古拉斯·热尔韦的把戏——真是太棒了

def count(fname):
    with open(fname, newline='') as f:
        return sum(line.count('0') > len(line) // 2 for line in f)

编辑2:误解问题。我已更新为仅计数包含更多零的行

相关问题 更多 >

    热门问题