为什么它显示我所有输入的重复?
问题描述:
pres = ["Kennedy", "Lincoln", "Washington", "Trump"]
for presidents in pres:
print ("%s" % presidents)
add = input("Please enter a president: ")
if add not in pres:
pres.append(add)
pres.insert(-1,add)
add = input("Please enter a president: ")
if add not in pres:
pres.append(add)
pres.insert(-1,add)
add = input("Please enter a president: ")
if add not in pres:
pres.append(add)
pres.insert(-1,add)
add = input("Please enter a president: ")
if add not in pres:
pres.append(add)
pres.insert(-1,add)
print (pres)
这个程序是否也正确覆盖了这个问题:编写一个程序,其中包含一个名单,其中包含四个美国总统的名字。使用任何你想要的总统。然后,运行一个循环,将四位总统添加到列表中。以列表作为唯一参数调用另一个函数。第二个函数应该对列表进行排序,然后循环遍历列表,以便按照自己的路线打印每个总统的姓名。为什么它显示我所有输入的重复?
例如它表明我的输出:
Please enter a president: obama
Please enter a president: eisenhower
Please enter a president: truman
Please enter a president: obama
['Kennedy', 'Lincoln', 'Washington', 'Trump', 'obama', 'obama', 'eisenhower', 'eisenhower', 'truman', 'obama', 'truman']
答
add = input("Please enter a president: ")
if add not in pres:
pres.append(add) #adding president if name is not present.
pres.insert(-1,add) #adding president again(doesn't matter if present or not)
所以删除第二个插件。
add = input("Please enter a president: ")
if add not in pres:
pres.append(add)
而且,你必须运行一个循环再增加四个总统这样:
For i in range(4):
add = input("Please enter a president: ")
if add not in pres:
pres.append(add);
else:
i = i-1; #to add president, not already present.
最后,创建一个函数并通过总统的名字作为参数,使用排序功能(使用排序( )或排序())并打印列表。
希望得到这个帮助。
它显示重复,因为您要添加两次 - 首先使用'pres.append(add)',然后使用'pres.insert(-1,add)'。您不需要最后的声明,因为如果总统不在列表中,您已经添加了该声明。 – AKS