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实现简单的Markdown转换器
Jul 16 Python
Python实现iOS自动化打包详解步骤
Oct 03 Python
Django model序列化为json的方法示例
Oct 16 Python
django之跨表查询及添加记录的示例代码
Oct 16 Python
python 利用文件锁单例执行脚本的方法
Feb 19 Python
python文件操作的简单方法总结
Nov 07 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
Mar 11 Python
jupyter notebook 重装教程
Apr 16 Python
django的autoreload机制实现
Jun 03 Python
超级实用的8个Python列表技巧
Aug 24 Python
了解一下python内建模块collections
Sep 07 Python
利用python实现汉诺塔游戏
Mar 01 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
thinkphp模板的包含与渲染实例分析
2014/11/26 PHP
JavaScript定时器详解及实例
2013/08/01 Javascript
js读取配置文件自写
2014/02/11 Javascript
node.js中的fs.chmodSync方法使用说明
2014/12/18 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
常用的js验证和数据处理总结
2016/08/02 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
微信小程序之绑定点击事件实例详解
2017/07/07 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
JS如何定义用字符串拼接的变量
2020/07/11 Javascript
Python实现拼接多张图片的方法
2014/12/01 Python
python使用装饰器和线程限制函数执行时间的方法
2015/04/18 Python
python实现识别相似图片小结
2016/02/22 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
Python3实现获取图片文字里中文的方法分析
2018/12/13 Python
django实现模型字段动态choice的操作
2020/04/01 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
Python logging模块原理解析及应用
2020/08/13 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
自动化专业个人求职信范文
2013/11/29 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
励志演讲稿范文
2014/04/29 职场文书
主题班会演讲稿
2014/05/22 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
运动会通讯稿100字
2015/07/20 职场文书