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是编译运行的验证方法
Jan 30 Python
Python中几个比较常见的名词解释
Jul 04 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
关于Python 3中print函数的换行详解
Aug 08 Python
Python语言描述机器学习之Logistic回归算法
Dec 21 Python
python互斥锁、加锁、同步机制、异步通信知识总结
Feb 11 Python
python文件操作之批量修改文件后缀名的方法
Aug 10 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
TensorFlow tensor的拼接实例
Jan 19 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
Feb 15 Python
分享提高 Python 代码的可读性的技巧
Mar 03 Python
asyncio异步编程之Task对象详解
Mar 13 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中使用与Perl兼容的正则表达式
2006/11/26 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
php编程每天必学之验证码
2016/03/03 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
js left,right,mid函数
2008/06/10 Javascript
JavaScript 加号(+)运算符号
2009/12/06 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
2020/12/02 Vue.js
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
Django接收post前端返回的json格式数据代码实现
2019/07/31 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
python:解析requests返回的response(json格式)说明
2020/04/30 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
武汉瑞得软件笔试题
2015/10/27 面试题
《欢乐的泼水节》教学反思
2014/04/22 职场文书
大专生求职信
2014/06/29 职场文书
大学生活动总结模板
2014/07/02 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
2014年学生工作总结
2014/11/20 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书
2015年主婚人婚礼致辞
2015/07/28 职场文书