与python代码8.4.4混淆

与python代码8.4.4混淆,python,Python,因此,我试图切掉用户输入的中间名称并打印它们,但它不起作用,我不知道该怎么办 我已经试过查了 name_amount = int(input("How many names do you have? ")) namelist = [] index = 0 for i in range (name_amount): name = input("Name: ") namelist.append(name) index += 1 print "You have " + str

因此,我试图切掉用户输入的中间名称并打印它们,但它不起作用,我不知道该怎么办

我已经试过查了

name_amount = int(input("How many names do you have? "))
namelist = []
index = 0
for i in range (name_amount):
    name = input("Name: ")
    namelist.append(name)
    index += 1
print "You have " + str (name_amount) + " names."
print "Middle names: " + namelist[0][1:index - 1]
例如,如果你说你有3个名字,然后说L,然后说T,然后说K,我想说

中间名:T

但它只是说:

中间名:

然后就没有别的了。

为什么不:

name_amount = int(input("How many names do you have? "))
namelist = []
index = 0
for i in range (name_amount):
    name = input("Name: ")
    namelist.append(name)
    index += 1
print "You have " + str (name_amount) + " names."
try:
    print "Middle names: " + namelist[1]
except:
    print "No middle names found"
更改:

print "Middle names: " + namelist[0][1:index - 1]
致:


就这样,它将起作用…

您应该更改以返回列表中的第二个元素,并添加一个健全性检查,以查找是否在第一个位置输入了两个以上的名称

name_amount = int(input("How many names do you have? "))
namelist = []
index = 0
for i in range (name_amount):
    name = input("Name: ")
    namelist.append(name)
    index += 1
print "You have " + str (name_amount) + " names."

# Checking if at least 2 names are entered
if name_amount > 2:
    print "Middle names: " + namelist[1]
else: 
    print "Could not find a middle name"

你想用
名称列表[0][1:index-1]
做什么?中间名不应该只是名称列表中的第二个元素吗?此外,在打印中间名之前,您是否应该检查用户是否至少输入了3个名称?谢谢,但这不起作用,因为如果有3个以上的游戏,它也必须起作用,而不仅仅是3个。因此,如果我输入“a B C D”,中间名是“B C”吗?当输入少于3个姓名时,预期的行为是什么?谢谢,但与其他答案一样,它必须与任意数量的姓名一起工作
name_amount = int(input("How many names do you have? "))
namelist = []
index = 0
for i in range (name_amount):
    name = input("Name: ")
    namelist.append(name)
    index += 1
print "You have " + str (name_amount) + " names."

# Checking if at least 2 names are entered
if name_amount > 2:
    print "Middle names: " + namelist[1]
else: 
    print "Could not find a middle name"