H5W3
当前位置:H5W3 > 其他技术问题 > 正文

写个程序,数下从0-10000有多少个0?

写了一点不会写了.这个没法数2500这种好几个0的

s=[]
for x in range(10000):
    if '0' in str(x):
        s.append(x)
len(s)

回答:

不知道您说的是不是这个意思?


# -*- coding:utf-8 -*-
counter = 0
for x in range(10001):
    for i in str(x):
        if i == '0':
            counter += 1
        else:
            pass
print(counter)

2894

回答:

请使用python3运行:

# -*- coding:utf-8 -*-
num = 0 #统计出现的0
i = 0
while(i <= 10000):
    num += str(i).count('0')
    i += 1
print(num)

输出为: 2894

回答:

print(sum(map(lambda x: str(x).count('0'), range(10000 + 1))))

回答:

不会用手机写代码?

  • 个位数1个
  • 十位数9个
  • 百位数
  1. 两个0的情况:2✘9=18个
  2. 1个0的情况,个位为0或十位为0各有9✘9种:共81✘2=162个
  • 千位数
  1. 3个0的情况:9✘3=27个
  2. 2个0的情况:共3(C3,2)种组合,每种9✘9=81个,总共243✘2=486个
  3. 1个0的情况:9✘9✘9✘3=2187个
  • 万位数
  1. 4个

共1+9+18+162+27+486+2187+4=2894

你看这样行不?

回答:

str([x for x in range(10001)]).count('0')

回答:

心算出来1001+(1001-10)+(1001-100)+(1001-1000)=2894,分别是个位、十伟、百位、千位出现0的数次。

回答:

sum([str(a).count(“0”) for a in range(10000+1)])
2894

回答:

一个比较简单的方法:如果一个数字对 10 取余没有余数,那这个数末尾肯定有一个 0,那依次判断这个数的每一位就好了

回答:

count = 0;
for i in range(0, 10001):
    count += int(str(i).count('0'));
print(count);

python 的字符串自己有count方法

本文地址:H5W3 » 写个程序,数下从0-10000有多少个0?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址