向lis添加用户输入

2024-04-29 14:07:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望它要求用户输入他们最喜欢的电影,并将该输入添加到列表的末尾,然后再次显示列表。同时还要确保输入的影片不是最不重要的。这就是我所达到的程度:

films = ["Star Wars", "Lord of the Rings", "Shawshank Redemption", "God father"]

for films in films:
    print ("%s" % films)

add = input("Please enter a film: ")
films.insert(-1,add)
print (films)

编辑:

当我尝试时,我得到了一个错误:

Traceback (most recent call last):

File "H:\Modules (Year 2)\Advanced programming\Python\Week 2 - Review and Arrays\Week 2.2 - Exercises.py", line 48, in films.append(add) AttributeError: 'str' object has no attribute 'append'


Tags: 用户inadd列表电影starprintweek
3条回答

使用not in检查它是否已在列表中,并使用append将其添加到列表的末尾:

films = ["Star Wars", "Lord of the Rings", "Shawshank Redemption", "God father"]

for films in films:
    print ("%s" % films)

add = input("Please enter a film: ")
if add not in films: films.append(add)
else: print("Already in list!")
print (films)

错误就在这里:

for films in films:
    print("%s" % films)

你在做for films in films,而不是for film in films

另外,其他人认为写films.insert(-1, ...)更好的方法是films.append(...)也是正确的。

使用in检查项是否已存在于列表中,然后使用list.append将该项添加到列表的末尾。

add = input("Please enter a film: ")
if add not in films:
    films.append(add)

注意,在for循环中,您已经用字符串替换了films,请使用其他变量名:

for film in films:
    print ("%s" % film)

相关问题 更多 >