拼接时出错

时间:2016-01-11 12:19:05

标签: python

在我的节目中,我问的是一个人的名字。然后我将字符串拼接成只有它们的首字母。

# Ask for names
first=input('Please enter your first name: ')
middle=input('Please enter your middle name: ')
last=input('Please enter your last name: ')
# Splice
first[1]
middle[1]
last[1]

当拼接中间名时,程序会将错误留空。有人可以帮我解决错误吗?

2 个答案:

答案 0 :(得分:1)

当字符串为空时,它将没有字符,因此访问任何索引都会引发错误。在获取索引之前,您需要测试字符串是否为空。 if middle是最简单的测试方式,如果字符串为空,则评估为False

if middle:
    middle[0]

请注意[1]将采用第二个元素,因为索引从0开始,而不是1.因此,您需要[0]。此外,这是索引,而不是切片。切片是指从字符串中获取一系列值时,索引就是访问单个字符时。

答案 1 :(得分:0)

如果您不确定用户是否可以输入空白字符串或有效名称,那么最好的方法是使用if - else构造,或者如果您想更加热情地执行此操作,那么您可以尝试:

>>> middle = "anmol"
>>> middle[1:2]
>>> "n"
>>> middle = ""
>>> middle[1:2]
>>> "" # No error here.
相关问题