我想这样做:有一个数字 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,您的预期输出不包括该数字。
