【问题标题】:Adding ASCII Values together. Jython/Python将 ASCII 值加在一起。 Jython/Python
【发布时间】:2015-04-05 06:19:11
【问题描述】:

我需要得到“计算机”这个词。将每个字母转换为其对应的 ASCII 值(使用 For 循环)。然后将各个 ASCII 值相加得到总和。

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

所以认为计算机 = 文本

到目前为止我有什么:

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

  1. 文本输入为“计算机”
  2. 对于“COMPUTER”中的每个字符
  3. 将每个字符转换为其 ASCII 值
  4. 将值相加
  5. 收到总和
  6. 打印总和

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

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

【问题讨论】:

    标签: python for-loop sum jes ord


    【解决方案1】:

    您的部分困惑可能是因为您将ord() 返回的int 命名为AsciiArray。它不是一个“数组”。

    使用列表推导很简单:

    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 通常不会被认为是好的做法。

    【讨论】:

      【解决方案2】:

      由于 ord 函数返回一个 int,你可以只求和,所以像这样

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

      【讨论】:

        猜你喜欢
        • 2010-12-08
        • 2011-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-15
        • 2011-03-07
        • 1970-01-01
        相关资源
        最近更新 更多