将用户输入添加到列表

时间:2013-09-27 18:46:24

标签: python list input

我希望它要求用户输入他们喜欢的电影,并在列表的末尾添加该输入,然后再次显示列表。以及确保输入的电影至少已经不存在了。这是我到达目的地:

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)

修改

当我尝试时,我收到错误:

  

追踪(最近一次呼叫最后一次):

     

文件" H:\ Modules(第2年)\高级编程\ Python \第2周 -   Review and Arrays \ Week 2.2 - Exercises.py",第48行,in       films.append(添加)       AttributeError:' str'对象没有属性'追加'

4 个答案:

答案 0 :(得分:3)

使用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)

答案 1 :(得分:1)

错误在于:

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

您正在for films in films而不是for film in films

此外,其他人都认为更好的撰写films.insert(-1, ...)的方法是films.append(...)

答案 2 :(得分:0)

检查它是否已列入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)

答案 3 :(得分:0)

"""
This is for a dictionary
""""
Cities={"London":0,"Cairo":2182,"Lagos":3110,"Lima":6314}
while True:
    city=input("Enter a city")
    if city in Cities:
        print (Cities[city])
    else:
        print("Not in dictionary please input the distance")
        distance=input()
        Cities[city]=int(distance)
        print (Cities)