python如何解决range范围不确定的循环?

给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