【发布时间】:2017-09-07 17:37:21
【问题描述】:
对于第 7 行,它提到我遇到了一个错误。我该怎么办? 问题中有一些条件: 如果字符是字母, 将字符添加到单词和 检测到非字母(空格、标点符号、数字...)定义单词的结尾并转到其他内容。 对于其他: 按字母顺序检查单词是否大于“g”,如果是:打印单词和 设置 word = 空字符串, 要不然: 设置 word = 空字符串并构建下一个单词
phrase = input('enter a 1 sentence quote, non-alpha separate words: ')
word = ""
for letter in phrase:
if letter.isalpha() == True:
word = word + letter
else:
if word[0] > "g":
print (word.upper() + '\n')
word = ""
else:
word = ""
print (word)
【问题讨论】:
-
第 9 行似乎是
word = ""。我非常怀疑这是给你错误信息的那一行。 -
您使用字符串索引的行似乎是
if word[0] > "g":。我可以想象word中包含零个字符的许多方式(比如输入的第一个字符不是字母)。 -
请发布您的回溯。
-
很抱歉应该是 line7
-
您正在初始化
word=""(零长度字符串)。当phrase[0](即第一个letter是非alpha 时,会出现一些情况,这会引发此错误,因为您不能为空字符串下标。