2015-04-05 28 views
0

我需要找到“计算机”这个词。将每个字母转换为相应的ASCII值(使用For循环)。然后将各个ASCII值一起添加以获得总和。将ASCII值一起添加。 Jython/Python

我在启动程序时输入“计算机”作为“文本”的参数。

因此,认为电脑=文本

是我到目前为止有:

def addASCIIValues(text): 
    for char in text: 
    AsciiArray = ord(char) 
    print AsciiArray 

  1. 文本输入为 '计算机'
  2. 在 “计算机” 中的每个字符
  3. 将每个字符转换为其ASCII码值
  4. 添加值加在一起
  5. 接收总和
  6. 打印和

请使用简单的代码,没有导入功能。

我使用Jython,但python响应也可以!

回答

0

您的混乱,部分可能是因为您已命名为ord()AsciiArray返回int。这不是一个“阵列”。

这是简单的使用列表理解:

word = 'COMPUTER' 
print sum([ord(c) for c in word]) 

但是你问的具体步骤:

word = 'COMPUTER' 
SUM = 0 
for char in word: 
    value = ord(char) 
    SUM += value 

print SUM 

我应该指出的是,一般大写名称用于常数,故得名SUM通常不会被认为是好的做法。

0

由于ORD函数返回一个整型,你可以总结,所以像这样

sum = 0 
for letter in word: 
    sum += ord(letter) 

print(sum) 
+0

thankyou aswell !! – 2015-04-10 01:02:26