给2020位用户制作门牌,排除门牌号中包含字符4的号码,保证2020位用户都分配到门牌号,求总共需要多少个2字符?
制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7,即需要1个字符0,2个字符1,1个字符7。
写下源码。
范围怎么不确定了,给2020位用户制作门牌, 不就是range(1,2021)
用while循环 然后指定条件。不符合的continue或者break
sum = 0;
i = 0;
j = 0;
while j < 2020:
i+=1;
#排除字符4
if str(i).count("4")>0:
continue;
#计算当前字符串中包含多少个2
num1 = str(i).count("2") # 默认搜索整个字符串
sum+=num1
j+=1
print(sum)
i = 1
j = 0
r = 0
while j<2020:
s = "{:0>4}".format(i)
if "4" not in s:
r += s.count("2")
j += 1
i += 1
print(r)
楼上大哥的思路是对的
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632