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中遍历字典过程中更改元素导致异常的解决方法
May 12 Python
python通过pip更新所有已安装的包实现方法
May 19 Python
python实现给微信指定好友定时发送消息
Apr 29 Python
pandas.DataFrame的pivot()和unstack()实现行转列
Jul 06 Python
python如何实现从视频中提取每秒图片
Oct 22 Python
python实现邮件自动发送
Aug 10 Python
在Python中获取操作系统的进程信息
Aug 27 Python
Python一行代码解决矩阵旋转的问题
Nov 30 Python
Python直接赋值及深浅拷贝原理详解
Sep 05 Python
一行代码python实现文件共享服务器
Apr 22 Python
Python实战之疫苗研发情况可视化
May 18 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
Apr 14 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
推荐文章系统(一)
2006/10/09 PHP
利用php获取服务器时间的实现代码
2013/06/07 PHP
js资料toString 方法
2007/03/13 Javascript
iis6+javascript Add an Extension File
2007/06/13 Javascript
jQuery 获取对象 定位子对象
2010/05/31 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
2016/03/28 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
2016/10/26 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
2019/04/08 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python实现提取文章摘要的方法
2015/04/21 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
Python 操作MySQL详解及实例
2017/04/30 Python
Python复数属性和方法运算操作示例
2017/07/21 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
为什么python比较流行
2020/06/19 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
自我反省检讨书
2014/01/23 职场文书
工作分析计划书
2014/04/30 职场文书
低碳环保演讲稿
2014/08/28 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB