python3实现短网址和数字相互转换的方法


Posted in Python onApril 28, 2015

本文实例讲述了python3实现短网址和数字相互转换的方法。分享给大家供大家参考。具体实现方法如下:

import math
import decimal
def convert_to_code(num):
  """
  将数字转换为代码
  """
  def get_num(num, out=''):
    num = decimal.Decimal(num)
    codes = "abcdefghjkmnpqrstuvwxyz23456789ABCDEFGHJKMNPQRSTUVWXYZ"
    if num > 53:
      key = num % 54
      num = math.floor(num / 54) - 1
      return get_num(num, codes[int(key)] + out)
    else:
      return codes[int(num)] + out
  return get_num(num)
def convert_to_num(code):
  """
  将代码转为数字
  """
  import math
  codes = "abcdefghjkmnpqrstuvwxyz23456789ABCDEFGHJKMNPQRSTUVWXYZ"
  num = 0
  num = decimal.Decimal(num)
  i = len(code)
  for char in code:
    i -= 1
    pos = codes.find(char)
    num += (54 ** i) * (pos + 1)
  num -= 1
  # 任意数的 0 次方等于1,所以需要减去
  return int(num)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python基于PycURL实现POST的方法
Jul 25 Python
Python验证企业工商注册码
Oct 25 Python
Java编程迭代地删除文件夹及其下的所有文件实例
Feb 10 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 Python
Python使用numpy实现BP神经网络
Mar 10 Python
浅析Python pandas模块输出每行中间省略号问题
Jul 03 Python
pycharm配置pyqt5-tools开发环境的方法步骤
Feb 11 Python
关于Python 的简单栅格图像边界提取方法
Jul 05 Python
Python装饰器使用你可能不知道的几种姿势
Oct 25 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
Jan 08 Python
python+playwright微软自动化工具的使用
Feb 02 Python
python3+PyQt5+Qt Designer实现界面可视化
Jun 10 Python
python实现从网络下载文件并获得文件大小及类型的方法
Apr 28 #Python
浅析Python中的多重继承
Apr 28 #Python
python输出当前目录下index.html文件路径的方法
Apr 28 #Python
Python实现基于权重的随机数2种方法
Apr 28 #Python
python使用urllib2实现发送带cookie的请求
Apr 28 #Python
python实现在windows下操作word的方法
Apr 28 #Python
介绍Python的@property装饰器的用法
Apr 28 #Python
You might like
php框架Phpbean说明
2008/01/10 PHP
php win下Socket方式发邮件类
2009/08/21 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
2016/12/15 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
JQuery里选择超链接的实现代码
2011/05/22 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
Angular.js实现注册系统的实例详解
2016/12/18 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
JavaScript递归函数定义与用法实例分析
2019/01/24 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
用Python输出一个杨辉三角的例子
2014/06/13 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
python 检查文件mime类型的方法
2018/12/08 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
Python常用断言函数实例汇总
2020/11/30 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
经济信息管理专业大学生求职信
2013/09/27 职场文书
活动总结书
2014/05/08 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
2015年采购员工作总结
2015/04/27 职场文书
员工试用期工作总结
2019/06/20 职场文书
推荐六本经典文学奖书籍:此生必读
2019/08/22 职场文书