在我的节目中,我问的是一个人的名字。然后我将字符串拼接成只有它们的首字母。
# 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]
当拼接中间名时,程序会将错误留空。有人可以帮我解决错误吗?
答案 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.