Python 26进制计算实现方法

yipeiwu_com7年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

解决yum对python依赖版本问题

错误 # yum list File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ Synt...

Python实用日期时间处理方法汇总

原则, 以datetime为中心, 起点或中转, 转化为目标对象, 涵盖了大多数业务场景中需要的日期转换处理 步骤: 1. 掌握几种对象及其关系 2. 了解每类对象的基本操作方法 3....

使用Python求解最大公约数的实现方法

1. 欧几里德算法 欧几里德算法又称辗转相除法, 用于计算两个整数a, b的最大公约数。其计算原理依赖于下面的定理: 定理: gcd(a, b) = gcd(b, a mod b) 证明...

一篇不错的Python入门教程

原文 http://www.hetland.org/python/instant-hacking.php Instant Hacking[译文] 译者: 肯...

Python使用Tkinter实现滚动抽奖器效果

Python使用Tkinter实现滚动抽奖器效果

年底,抽奖这个话题很多人都会讨论,都希望可以中奖。 接下来我就使用 Python 中的 Tkinter 模块来实现一个简单的滚动抽奖器。 一、Tkinter简介 Tkinter 是 Py...