这是我被要求做的:
创建一个程序,该程序将使用2个列表存储有关受邀参加婚礼的客人的详细信息。 方法: 设置两个列表-一个用于列出客人的姓名,另一个用于存储邀请是否被接受。注意第二个数组应该是初始设置为false的布尔元素列表 您需要询问客人的名字,然后询问他们是否参加婚礼。 打印仅参加者的列表。
这是我所做的:
names = [""]*10
accept = [False]*10
accepted = [""]*10
counter = 10
for counter in range(0,10):
names[counter] = str(input("What is your name?"))
accepted[counter] = input("Are you accepting the invitation?")
if accepted[counter] == "Yes" or accepted[counter] == "yes":
accept[counter] = True
else:
names[counter] = ""
print("Here is a list of peoples names whom are attending:")
print(names)
这是我老师说的:
有效,但是您能想到一种更好的方法来显示与会人员的姓名吗?
您能帮助我解决这个问题吗,我认为老师希望我从列表中删除该名字,但是我不知道该怎么做。我试过使用pop(),但我只是不理解。 :(
答案 0 :(得分:0)
names
列表应该包含所有被邀请的人,您不应该将名称替换为空字符串,否则名称将不完整。
使用循环,使用accepted
列表中相应元素的索引来打印正在参加的人员的姓名。
也不需要accepted
成为列表。只需对当前答案使用普通变量即可。
names = [""]*10
accept = [False]*10
for counter in range(0,10):
names[counter] = input("What is your name?")
accepted = input("Are you accepting the invitation?")
if accepted.lower() == "yes":
accept[counter] = True
print("Here is a list of peoples names whom are attending:")
for i, attending in enumerate(accept):
if attending:
print(names[i])
答案 1 :(得分:0)
pop()
用于从列表中删除值。如果不带参数使用,它将删除最后一个值。如果提供了一个值,它将“弹出”它,或者换句话说将其删除,然后打印删除的值。