如果我测试以下“空”条件,则会得到一个IndexError,指出字符串索引超出范围。这是为什么?如果用户输入为空,我希望脚本打印“空”。
pyg = 'ay'
original = raw_input('Enter a word:')
word = original.lower()
first = word[0]
if len(original) > 0 and original.isalpha():
if first in 'aeiou':
print "vowel"
new_word = original + pyg
print new_word
else:
new_word = word[1:len(original)] + first + pyg
print new_word
else:
print "empty"
最佳答案
first = word[0]
失败了;如果
word
为空,则不存在第零个字符。您可以将其替换为first = word[:1]
但由于仅在
if len(original) > 0 and original.isalpha():
分支内使用,因此最好将其移入内部,然后保留为first = word[0]
。顺便说一句,您可以直接编写
if len(original) > 0)
而不是if original
-非空字符串是truelike。
关于python - 条件语句上的Python IndexError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20227296/