20. 多少个字符2?
天津科技大学第六届科技文化节算法设计大赛第20题
题目:
小蓝要为一条街的住户制作门牌号。
这条街一共有2020 位住户,门牌号从1 到2020 编号。
小蓝制作门牌的方法是先制作0 到9 这几个数字字符,最后根据需要将字符粘贴到门牌
上,例如门牌1017 需要依次粘贴字符1、0、1、7,即需要1 个字符0,2 个字符1,1
个字符7。
请问要制作所有的1 到4040 号门牌,总共需要多少个字符2?
解题思路:
这是一道典型的小学奥数题(嘻嘻)
在Python中可以使用字符串相加的方法,先给定一个空字符串,再从1至4040循环,先将数字转化为字符串形式,再将字符串加进去,最后在转化成list,使用count()方法返回2出现的次数
源代码
astr=''
for i in range(1,4041):
astr=astr+str(i)
print(astr)
astr=list(astr)
print(astr)
print(astr.count('2'))
结果
2214