小学生蓝桥杯Python闯关 | 卡片

学习Python从娃娃抓起!记录下蓝桥杯Python学习和备考过程中的题目,记录每一个瞬间。

附上汇总贴:小学生蓝桥杯Python闯关 | 汇总_COCOgsta的博客-CSDN博客


【题目描述】

小蓝有很多数字卡片,每张卡片上都是0到9的数字。小蓝准备用这些卡片来拼一些数,他想从1开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其他数了。小蓝想知道自己能从1拼到多少。例如,当小蓝有30张卡片,其中0到9各3张,则小蓝可以拼出1到10,但是拼11时卡片1只有一张了,不够拼出11。现在小蓝手里有0到9的卡片各2021张,共20210张,请问小蓝可以从1拼到多少?

【代码详解】

s = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']*2021
for i in range(1, 10000):
    a = list(str(i))
    try:
        for j in a: s.remove(j)  # 去掉这个卡片
    except:  # 找不到卡片了,停止
        print(i - 1)
        break
复制代码

【运行结果】

3181

猜你喜欢

转载自blog.csdn.net/guolianggsta/article/details/129826066