Python 26进制计算实现方法

本文实例讲述了Python 26进制计算方法。分享给大家供大家参考。具体分析如下:

题目是这样的:

假设A=1,B=2,C=3...AA=27,AB=28...AAA=xxx(表示某个数字),写一个函数统计一个字符串的值是多少

# -*- coding:utf-8 -*-
'''''
Created on 2013-3-29
@author: naughty
'''
dict={}
dict['A']=1
dict['B']=2
dict['C']=3
dict['D']=4
dict['E']=5
dict['F']=6
dict['G']=7
dict['H']=8
dict['I']=9
dict['J']=10
dict['K']=11
dict['L']=12
dict['M']=13
dict['N']=14
# .....其他字母
def count_(s):
  p=len(s)-1
  count=0
  for x in xrange(len(s)):
    count+=get(x)*dict[s[p-x]]
  return count
def get(p):
  return 26**p
print count_('AC')

在上面的代码中,利用的字典来映射每个字母的含义。当然也可以每次计算每个字母代表的数字。但是会有效率问题。

希望本文所述对大家的Python程序设计有所帮助。

(0)

相关推荐

  • Python内置函数bin() oct()等实现进制转换

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns

  • Python中不同进制的语法及转换方法分析

    本文实例讲述了Python中不同进制的语法及转换方法.分享给大家供大家参考,具体如下: 不同进制的书写方式 ① 八进制(Octal) 0o377 ② 十六进制(Hex) 0xFF ③ 二进制(Binary) 0b11111111 不同进制之间的转换 Python提供了三个内置的函数,可以用来在不同进制间做转换. >>> oct(255), hex(255), bin(255) ('0o377', '0xff', '0b11111111') 还可以使用int函数,把字符串转成数值 >

  • python实现基本进制转换的方法

    本文实例讲述了python基本进制转换的方法.分享给大家供大家参考.具体如下: # Parsing string with base into a number is easy num = int(str, radix) # We have to write our own function for outputting to string with arbitrary base def itoa(num, radix): result = "" while num > 0: r

  • 使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)

    不过,status中包含了一个mid字段,通过mid,我们实际上是可以通过计算得到url的. 在开始计算之前有必要说明一下,什么是base62编码.它实际上就是十进制和62位进制的互换.对于62进制,从0数到9以后,10用小写字母a表示,接着数完26个字母,到z为35,然后36为大写字母A,一直到61为大写字母Z.所以,我们可以实现十进制数字base62编码的encode和decode.下面的代码实际上来自stackoverflow: 复制代码 代码如下: ALPHABET = "0123456

  • python读写二进制文件的方法

    本文实例讲述了python读写二进制文件的方法.分享给大家供大家参考.具体如下: 初学python,现在要读一个二进制文件,查找doc只发现 file提供了一个read和write函数,而且读写的都是字符串,如果只是读写char等一个字节的还行,要想读写如int,double等多字节数 据就不方便了.在网上查到一篇贴子,使用struct模块里面的pack和unpack函数进行读写.下面就自己写代码验证一下. >>> from struct import * >>> fi

  • Python实现的十进制小数与二进制小数相互转换功能

    本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能.分享给大家供大家参考,具体如下: 十进制小数 ⇒ 二进制小数 乘2取整 对十进制小数乘2得到的整数部分和小数部分, 整数部分即是相应的二进制数码, 再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分. 如此不断重复,直到小数部分为0或达到精度要求为止. 第一次所得到为最高位,最后一次得到为最低位 如: 0.25的二进制 0.25*2=0.5   取整是0 0.5*2=1.0     取整是1 即0.25的二进制为

  • python3图片转换二进制存入mysql

    首先,在数据库中创建一个表,用于存放图片: 复制代码 代码如下: CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCREMENT, Data MEDIUMBLOB); 然后运行如下PYTHON代码进行: 复制代码 代码如下: # -*- coding: UTF-8 -*-import MySQLdb as mdbimport systry:    #用读文件模式打开图片    fin = open("../web.jpg")    #将文本读

  • python实现各进制转换的总结大全

    前言 玩ctf经常遇到进制转换的问题,就正好做一个进制转换总结,分享出来供大家参考学习,下面来一起看看详细的介绍: 字符串与十六进制转换 例如百度ctf 12月的第二场第一个misc 666C61677B65633862326565302D336165392D346332312D613031322D3038616135666137626536377D 比较简单的一种做法就是直接调用字符串的.decode('hex')解密即可, 但如果不用这个函数你会怎么解呢? 一种思路就是先2个分组,解出每组的

  • 使用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中,自然也少不了把下面这些代码收为util. 这是从网上搜索的一篇也的还可以的Python进制转换,经过验证可以使用.下面贴出它的实现代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # 2/10/16 base trans. wrote by srcdog on 20th, April, 2009 # ld elements in base 2, 10, 16. import os

随机推荐