如果我测试以下的“空”状态,我会得到一个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"
答案 0 :(得分:1)
first = word[0]
失败了;如果word
为空,则 没有第0个字符。您可以通过
first = word[:1]
但由于它仅在if len(original) > 0 and original.isalpha():
分支内部使用,因此最好将其移入内部并将其保留为first = word[0]
。
BTW,而不是if len(original) > 0)
,你可以简单地写if original
- 非空字符串是真实的。