Python 3.x 为什么.append只附加偶数字符串?
为什么这段代码只附加偶数的来宾? 例如,如果我输入名字:Katja-Adam-Eva-Nicholas- 印刷品将是:Python 3.x 为什么.append只附加偶数字符串?,python-3.x,append,Python 3.x,Append,为什么这段代码只附加偶数的来宾? 例如,如果我输入名字:Katja-Adam-Eva-Nicholas- 印刷品将是: ['Adam','Nicholas']\n 2 另外,如何解决此问题?您的检查,而input()会吃掉您一半的姓名: 修正: 更好的是: guest_list = [] while not guest_list or guest_list[-1] != '.': guest = input() guest_list.append(guest) guest_li
['Adam','Nicholas']\n 2
另外,如何解决此问题?您的检查
,而input()
会吃掉您一半的姓名:
修正:
更好的是:
guest_list = []
while not guest_list or guest_list[-1] != '.':
guest = input()
guest_list.append(guest)
guest_list[:] = guest_list [:-1]
print(f'{guest_list}\n{len(guest_list)}')
你的检查
while input()
会吃掉你一半的名字:
修正:
更好的是:
guest_list = []
while not guest_list or guest_list[-1] != '.':
guest = input()
guest_list.append(guest)
guest_list[:] = guest_list [:-1]
print(f'{guest_list}\n{len(guest_list)}')
我不认为这是正确的,因为我一启动这个程序,它就会打印出
[]\n 0
和closes@Sebas-使用第二个版本。修正了第一个问题。谢谢你的解决方案!有一件事我还不清楚,那就是为什么while input()
会“吃掉”我一半的输入。有人能解释一下吗@sebas每个input()
消耗一个输入,这就是为什么:您输入while-条件测试消耗一个输入的名称。但您不会将其添加到列表中。然后您输入另一个名称,它被添加,然后返回while循环条件测试。再次未添加等。我认为这不正确,因为一旦启动此程序,它将打印[]\n 0
和closes@Sebas-使用第二个版本。修正了第一个问题。谢谢你的解决方案!有一件事我还不清楚,那就是为什么while input()
会“吃掉”我一半的输入。有人能解释一下吗@sebas每个input()
消耗一个输入,这就是为什么:您输入while-条件测试消耗一个输入的名称。但您不会将其添加到列表中。然后您输入另一个名称,它被添加,然后返回while循环条件测试。再次未添加等。
guest_list = []
while not guest_list or guest_list[-1] != '.':
guest = input()
guest_list.append(guest)
guest_list[:] = guest_list [:-1]
print(f'{guest_list}\n{len(guest_list)}')
guest_list = []
while True:
guest = input()
if guest == '.':
break
guest_list.append(guest)
print(f'{guest_list}\n{len(guest_list)}')