The Python Challenge Level 9-10 Solutions

The Python Challenge Level 9-10 Solutions

先附上我在Github上存放的代码仓库: The Python Challenge

Level 9

第九关树的图片其实是一个提示,就是要我把点一个个的连起来,而这个点是由网页源代码里注释的first和second部分给出的,我直接把两个部分的坐标提取到一起,能够得到一个牛的图片

import requests
import re
from PIL import Image, ImageDraw

webUrl = 'http://www.pythonchallenge.com/pc/return/good.html'
webContent = requests.get(webUrl, auth=('huge','file')).text
print(webContent)
pattern = re.compile(r"(\d{2,3})")
nums = re.findall(pattern, webContent)
nums = list(map(int,nums))
nums.remove(nums[0])
nums.remove(nums[0])
print(nums)
img = Image.new('RGB', (800,800))
draw = ImageDraw.Draw(img)
draw.polygon(nums, 'white')
img.show()

这里最先发应的是’cow’这个单词,输入后提示我们是公的。于是再输入’ox’,结果还是不对。输入’bull’就对了

Level 10

这一关简单明了,就是找规律(然而渣渣的我还是找了很久)

可以发现,后一个数实际上是前一个数的读法,比如

a[0] = 1
a[1] = 11 # 11
a[2] = 21 # 21
# 以此类推
a, sub = '1', ''
for i in range(30):
    j = k = 0
    while j < len(a):
        while k < len(a) and a[k] == a[j]: 
            k += 1
        sub += str(k-j) + a[j]
        j = k
    a, sub = sub, ''
print(len(a))

最后结果是5808

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值