QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

实习版主

Rank: 10Rank: 10

技术值
查看: 264|回复: 4

[技术交流] 鱼C论坛Python精英挑战赛(第四季05期)评选结果

[复制链接]
最佳答案
57 
累计签到:364 天
连续签到:1 天
jerryxjr1220 发表于 2017-12-25 09:27:03 2644 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本期挑战赛没有鱼油答题。

本期无竞猜获胜者。

本季挑战赛擂主:

第一期:gunjang

第二期:蓝色王魂

第三期:cngoodboy、gunjang、万事屋

第四期:qwc3000

第五期:无

所以,本赛季 gunjang 获得最终擂主!有请@小甲鱼 老师颁奖!额外奖励100鱼币!

下赛季比赛预告:

由@小甲鱼 老师提议,从下赛季开始,鱼C论坛 精英挑战赛将大幅提高奖励金额!同时,比赛周期也会相应延长!希望广大鱼油多多参与!

本帖被以下淘专辑推荐:

楼层
跳转到指定楼层
最佳答案
57 
累计签到:364 天
连续签到:1 天
jerryxjr1220  楼主| 发表于 2017-12-25 09:31:46 | 显示全部楼层
提供一个参考解答吧,其实本期的题目很简单的,各种方法都能实现,比如顺序编号、或者随机字符、或者算法实现都可以。
我写的这个是取随机字符,然后把对应关系用pickle保存。
  1. import random, pickle
  2. #加密部分:
  3. def encode_tinyurl(url):
  4.     strings='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
  5.     try:
  6.         with open(r'C:\Users\xuj06\Desktop\pp.p','rb') as pkl:
  7.             data = pickle.load(pkl)
  8.     except:
  9.         data = {}
  10.     encoded = ''.join(random.choices(strings,k=6))
  11.     while encoded in data:
  12.         encoded = ''.join(random.choices(strings,k=6))
  13.     print(f'URL: "{url}" has been encoded to tinyURL: "http://tinyURL.com/{encoded}".')
  14.     data[encoded] = url
  15.     with open(r'C:\Users\xuj06\Desktop\pp.p', 'wb') as pkl:
  16.         pickle.dump(data, pkl)
  17. #解密部分:
  18. def decode_tinyurl(tinyurl):
  19.     if len(tinyurl)>6: tinyurl=tinyurl[-6:]
  20.     if len(tinyurl)<6:
  21.         print(f'tinyURL: "http://tinyURL.com/{tinyurl}" is not existed.')
  22.         return
  23.     try:
  24.         with open(r'C:\Users\xuj06\Desktop\pp.p','rb') as pkl:
  25.             data = pickle.load(pkl)
  26.     except:
  27.         data = {}
  28.     if tinyurl not in data:
  29.         print(f'tinyURL: "http://tinyURL.com/{tinyurl}" is not existed.')
  30.         return
  31.     else:
  32.         print(f'tinyURL: "http://tinyURL.com/{tinyurl}" has been decoded to URL: "{data[tinyurl]}".')
  33.         return data[tinyurl]
复制代码
最佳答案
1 

尚未签到

gunjang 发表于 2017-12-25 13:29:46 | 显示全部楼层
啊啊啊,最后一期忘了
最佳答案
57 
累计签到:364 天
连续签到:1 天
jerryxjr1220  楼主| 发表于 2017-12-25 16:28:51 | 显示全部楼层
gunjang 发表于 2017-12-25 13:29
啊啊啊,最后一期忘了

最后一期其实很简单,竟然没人答。
不然总擂主还要比拼一下
最佳答案
0 
累计签到:13 天
连续签到:2 天
Andy先生 发表于 2017-12-29 18:17:57 | 显示全部楼层
新人刚接触Python,围观混个脸熟!

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /2 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-1-19 02:08

快速回复 返回顶部 返回列表