例如,消息“hello”变成了[7,4,11,11,14]。 目前我有:
print("Please enter message (do not use any capital letters or punctuation marks):")
text = input()
letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u",
"v", "w", "x", "y", "z", " "]
# t is the character of the text we are dealing with
t = 0
# le is the letter of the alphabet we are dealing with
le = 0
numbers = []
length = len(text)
for t in range(length):
for le in range(27):
if text[t] == letters[le]:
numbers.append(le)
print(numbers)
它不工作-输入“hello”输出[7,31,65,92]。 任何帮助都将不胜感激。如果我做错了,抱歉我是新手
您的代码片段应该可以工作(它在我的计算机上也可以工作)。 您确定运行了正确的文件吗?或者你的代码里还有别的东西
同时,你的代码不是很有效,而且容易出错
正如你所知道的,计算机中的所有东西都以二进制格式存储在计算机中的某个位置,也就是数字。因此,字符也是数字
要了解确切的值字符关系,可以检查ASCII table
在该表中,小写字母按字母顺序依次排列,与
'a'
关联的值为97。在python中,可以使用内置的ord(character)
函数获取表示字符的整数在您的情况下,您可以:
一个更具Python风格的版本是(包括佩曼·马吉迪的建议):
您也可以在python中以不同的方式生成列表,这里是
numbers
列表创建的(某种)一行等价物。它给出了与上述完全相同的结果相关问题 更多 >
编程相关推荐