python3实现短网址和数字相互转换的方法
本文实例讲述了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常见数制转换用法.分享给大家供大家参考.具体分析如下: 1.进位制度 Python中二进制是以0b开头的: 例如: 0b11 则表示十进制的3 8进制是以0开头的: 例如: 011则表示十进制的9 16进制是以0x开头的: 例如: 0x11则表示十进制的17 或者写成 \x \b 2.各种函数转换 #10进制转为2进制 >>> bin(10) '0b1010' #2进制转为10进制 >>> int("1001",2) 9
-
浅谈Python数据类型之间的转换
Python数据类型之间的转换 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) 创建一个复数 str(x) 将对象 x 转换为字符串 repr(x) 将对象 x 转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s) 将序列 s 转换为一个元组 list(s) 将序列 s 转换为一个
-
Python字符串转换成浮点数函数分享
利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456 from functools import reduce def str2float(s): return reduce(lambda x,y:x+int2dec(y),map(str2int,s.split('.'))) def char2num(s): return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':
-
Python将阿拉伯数字转换为罗马数字的方法
本文实例讲述了Python将阿拉伯数字转换为罗马数字的方法.分享给大家供大家参考.具体实现方法如下: def numToRomanNum(Num): """digital will be converted into Roman numerals,Ex: numToRomanNum(3999)""" if Num < 1 or Num > 3999: print 'The Num must in 1-3999' else: NumDi
-
常用python数据类型转换函数总结
1.chr(i)chr()函数返回ASCII码对应的字符串. 复制代码 代码如下: >>> print chr(65)A>>> print chr(66) >>> print chr(65)+chr(66)AB 2.complex(real[,imaginary])complex()函数可把字符串或数字转换为复数. 复制代码 代码如下: >>> complex("2+1j")(2+1j)>>> c
-
python中将阿拉伯数字转换成中文的实现代码
复制代码 代码如下: #!/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerError(Exception): pass class OutOfRangeError(Exception): pass _MAPPING = (u'零', u'一', u'二', u'三', u'四', u'五', u'六', u'七', u'八', u'九', ) _P0 = (u'', u'十', u'百', u'千', )
-
Python实现将罗马数字转换成普通阿拉伯数字的方法
本文实例讲述了Python实现将罗马数字转换成普通阿拉伯数字的方法.分享给大家供大家参考,具体如下: 罗马数字,我们在某些电视中或者现实生活中都曾经看到过,近日,学习Python时,也遇到了罗马数字的解说,于是顺便写了一个小程序来练习罗马数字到我们日常生活普通数字之间的转换的小函数. 首先,咱们了解一下,罗马数字的潜在法则, 在罗马数字中,利用7个不同字母进行重复或者组合来表达各式各样的数字. I = 1 V = 5 X = 10 L = 50 C = 100 D = 500 M = 1000
-
使用Python内置的模块与函数进行不同进制的数的转换
binascii 模块: 它包含一个把二进制数值转换成十六进制的函数,同样也可以反过来转. #binary_value是二进制数值不是字符串,也不是int型的1010 binascii.b2a_hex(binary_value) ##binary_value 一般读二进制文件可以得到 >>'89' <type str> python自带的builtin函数: bin(num) 十进制数值 ===>二进制字符串 bin(10) >> '0b1010' <t
-
Python实现中文数字转换为阿拉伯数字的方法示例
本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法.分享给大家供大家参考,具体如下: 一.需求 今天写了三千二百行代码. 今天写了3200行代码. 两行意思相同,只是表达方式不太能够,统一掉. 二.原理 数字的特征是 数字 + 单位,例如三百,四十二,九千零二 可以从后往前遍历,遇到的是0到9的数字,就乘以前一位的单位,遇到新的单位(十百千万)就替换成数字供下一个数字用. 三.举例 五百四十三 1. 三-->3 3 <10 : total = 3 2. 十-->10, 10
-
python 数据清洗之数据合并、转换、过滤、排序
前面我们用pandas做了一些基本的操作,接下来进一步了解数据的操作, 数据清洗一直是数据分析中极为重要的一个环节. 数据合并 在pandas中可以通过merge对数据进行合并操作. import numpy as np import pandas as pd data1 = pd.DataFrame({'level':['a','b','c','d'], 'numeber':[1,3,5,7]}) data2=pd.DataFrame({'level':['a','b','c','e'], '
-
python实现将元祖转换成数组的方法
本文实例讲述了python实现将元祖转换成数组的方法.分享给大家供大家参考.具体分析如下: python的元祖使用一对小括号表示的,元素是固定的,如果希望添加新的元素,可以先将元祖转换成数组列表,再进行操作 colour_tuple = ("Red","Green","Blue") colour_list = list(colour_tuple) assert colour_list == ["Red","Green
-
python实现将英文单词表示的数字转换成阿拉伯数字的方法
本文实例讲述了python实现将英文单词表示的数字转换成阿拉伯数字的方法.分享给大家供大家参考.具体实现方法如下: import re _known = { 'zero': 0, 'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9, 'ten': 10, 'eleven': 11, 'twelve': 12, 'thirteen': 13, 'fourt
-
Python实现把数字转换成中文
周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文.程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用. #!/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerError(Exception): pass class OutOfRangeError(Exception): pass _MAPPING = (u'零', u'一', u'二', u'三', u'四', u'五'
随机推荐
- vue生成token保存在客户端localStorage中的方法
- php实现贪吃蛇小游戏
- 打造安全的Windows 2003服务器
- 利用python微信库itchat实现微信自动回复功能
- Java回调机制解读
- c#对xml的简单操作
- C#判断网站是否能访问或者断链的方法
- PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
- php 魔术函数使用说明
- 10款最好的Web开发的 Python 框架
- android中webview控件和javascript交互实例
- 3分钟用Docker搭建一个Minecraft服务器
- mysql5.7.13.zip安装教程(windows)
- iOS获取当前app的设备名称和版本号等内容
- java使用HttpSession实现QQ访问记录
- Ajax传递中文参数到后台乱码的有效解决方法
- mssql关于一个表格结构的另外一种显示(表达意思不变)
- 深入Java对象的地址的使用分析
- 浅谈Vue的基本应用
- Flex与.NET互操作 使用FileReference+HttpHandler实现文件上传/下载