Skip to main content
 首页 » 编程设计

python之如何过滤掉特定数字的数字

2025年05月04日12JustinYoung

我想这样做:有一个数字 N。有多少个数字小于 N,仅包含 0 或 4 或 7 位数字? 例如:N = 50,好的数字是:0,4,7,40,44,47。总计数 = 6

db = 0 
badnums = '1235689' 
lsgood = [] 
for i in range(0, n + 1): 
    szamok = [int(j) for j in str(i)] 
    for i in szamok: 
        if str(i) not in badnums: 
            lsgood.append(i) 
            db += 1 
print(lsgood,db) 

请您参考如下方法:

您可以像这样将 sum 与生成器表达式一起使用:

sum(1 for i in range(n + 1) if all(d in '047' for d in str(i))) 

返回:6

请注意,这包括数字 44,您的预期输出不包括该数字。