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如何查看系统网络流量的信息
Sep 12 Python
使用pyecharts无法import Bar的解决方案
Apr 23 Python
使用python实现链表操作
Jan 26 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 Python
python之super的使用小结
Aug 13 Python
Windows下Python3.6安装第三方模块的方法
Nov 22 Python
python中 * 的用法详解
Jul 10 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
Dec 03 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
Django 解决由save方法引发的错误
May 21 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 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
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
PHP网页游戏学习之Xnova(ogame)源码解读(七)
2014/06/23 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
juqery 学习之四 筛选过滤
2010/11/30 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
详解Nodejs之npm&package.json
2017/06/15 NodeJs
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
python django集成cas验证系统
2014/07/14 Python
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
详解Django框架中用context来解析模板的方法
2015/07/20 Python
使用python3实现操作串口详解
2019/01/01 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
python中对_init_的理解及实例解析
2019/10/11 Python
Python接口测试文件上传实例解析
2020/05/22 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
python如何写个俄罗斯方块
2020/11/06 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
电子信息专业学生自荐信
2013/11/09 职场文书
管理部部长岗位职责
2013/12/05 职场文书
出纳员岗位职责风险
2014/03/06 职场文书
工程资料员岗位职责
2014/03/10 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
Mysql中存储引擎的区别及比较
2021/06/04 MySQL
Mysql超详细讲解死锁问题的理解
2022/04/01 MySQL