题目:
小蓝要为一条街的住户制作门牌号。
这条街一共有 2022位住户,门牌号从 1 到 2022 编号。
小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符
1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。
请问要制作所有的 1 到 2022 号门牌,总共需要多少个字符 2?
看到这个题,也许很多人会想着👀直接在本子上算一下,但是这样比较费时间,正确率也不能保证;还有的人可能会按照1-10,10-100,100-1000,1000-2021这几个范围来构造列表,用for循环对数字进行遍历并判断2是否存在;ψ(`∇´)ψ但我想说这些方法都不合适,只需要几行代码便可以解决
- 首先定义一个字符串s
- 用range函数,把从1到2022所用到的所有字符串添加到s中
- 用python的内置函数count统计字符串2的出现次数
代码如下🍳:
import os
import sys
# 请在此输入您的代码
# 字符串s存储从1到2022的所有数字
s = ""
# 遍历1到2022
for i in range(1,2021):
# 连接字符串
s += str(i)
# 打印出字符串s含字符串2的总和
# count()是Python中的内置函数,返回列表或字符串中给定元素的个数。
print(s.count('2'))