2015-04-05 34 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