鱼C论坛

 找回密码
 立即注册
查看: 3652|回复: 3

[技术交流] 简单python练习

[复制链接]
发表于 2015-1-8 23:54:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 瞬秒爆加速 于 2015-1-8 23:54 编辑

题目内容:
依次计算一系列给定字符串的字母值,字母值为字符串中每个字母对应的编号值(A对应1,B对应2,以此类推,不区分大小写字母,非字母字符对应的值为0)的总和。例如,Colin 的字母值为 3 + 15 + 12 + 9 + 14 = 53

输入格式:
一系列字符串,每个字符串占一行。

输出格式:
计算并输出每行字符串的字母值。

输入样例:
Colin
ABC

输出样例:
53
6
时间限制:500ms内存限制:32000kb
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-10 00:07:13 | 显示全部楼层
大体的思路是建立字母为key,对应数字为value的字典,遍历字符串,先判断是否有对应的key,若有则取出对应的value,若没有则为0,累加。不知是否还有更好的办法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-10 00:49:28 | 显示全部楼层
本帖最后由 瞬秒爆加速 于 2015-1-10 09:11 编辑
微逻辑 发表于 2015-1-10 00:07
大体的思路是建立字母为key,对应数字为value的字典,遍历字符串,先判断是否有对应的key,若有则取出对应 ...

ord(字符)+acsii的数值差
  1. dd = 0
  2. d = 0
  3. ps=[]
  4. while 1:
  5.     p = raw_input()
  6.     if p== "":
  7.         break
  8.     else:
  9.         ps.append(p)
  10. for i in range(0,len(ps)):
  11.     pp = ps[i].lower()
  12.     for s in range(0,len(pp)):
  13.        if pp[s].isalpha():
  14.           d = ord(pp[s])-96
  15.        else:
  16.           d = 0
  17.        dd += d   
  18.     print dd
  19.     dd = 0
复制代码
粗略,供参考


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-11 23:00:19 | 显示全部楼层
。。。。。。。。。。。。。。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-24 07:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表