我希望它要求用户输入他们喜欢的电影,并在列表的末尾添加该输入,然后再次显示列表。以及确保输入的电影至少已经不存在了。这是我到达目的地:
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'对象没有属性'追加'
答案 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)