这是作业: 编写一个从用户那里获取单个单词的程序。对于单词中的每个字母,在字符串'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'中打印该字母的索引(例如,'A'将打印0,'z'将打印51)。在一行上打印所有索引,用空格分隔。
alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
word = input('Type a word: ')
for ind in word:
answer = ind.index(alphabet[0,-1])
print(answer)
我的代码无法运行。它说“TypeError:字符串索引必须是整数”。 0和-1都是整数,它们表示给定字符串的第一个和最后一个位置。我不明白为什么这不能正常运行。代码应该在位置0处取字母表,看到单词中没有匹配的值,然后移动到下一个,直到它到达键入字符串中的第一个字符的位置。然后它应该打印出这个数字,并继续前进。我做错了什么?
答案 0 :(得分:1)
你以错误的方式致电index
。你需要交换参数:
answer = alphabet.index(ind)
答案 1 :(得分:1)
我认为你的意思是遵循这样的模式。从输入单词中获取每个字符,并在字符出现的字母表中查找索引。
IVXLCDM
您可以使用列表理解进一步简化
answer = []
for char in word:
answer += [alphabet.index(char)]
答案 2 :(得分:0)
或者您可以使用ord()
函数
word = input("word:")
for i in range(len(word)):
print(ord(word[i:i+1]), end="")
这将为您提供字符串的数字输出,而不仅限于字母