add = ""
addmovie = raw_input("Type 'a' to add a title, 'b' to pick a movie or '/' to quit: ")
while addmovie == 'a' or addmovie == '/' or addmovie == 'b':
if addmovie == 'a':
add = list(add) + list(raw_input("Enter movie name: "))
elif addmovie == '/':
print 'Goodbye.'
sys.exit()
elif addmovie == 'b':
break
addmovie = raw_input("Type 'a' to add a title, 'b' to pick a movie or '/' to quit: ")
# Define Movie_list and random choice
Movie_list = list(add) #+ movie_list
random_movie = random.choice(Movie_list)
print random_movie
movie_list之前已定义
如果只有while循环可行,而if / elif / else则有用。我只学到了这些材料。
答案 0 :(得分:1)
首先,您可能想要检查pythons list()函数对字符串的作用。 python doc
简单地列出列表(" foo")将创建列表[' f',' o',' o']。我猜这可能不是你期望的功能:)
您将所有电影存储在一个字符串中,这可能没问题,但我建议使用一个简单的数组(特别是如果您想再次使用这些数据,例如选择一个随机项目)。
所以不要连接所有输入影片名称:
add = list(add) + list(raw_input("Enter movie name: "))
您可以简单地将它们附加到数组中:
movies.append(raw_input("Enter movie name: "))
然后,如果您使用random.choice(电影),将返回该数组中的伪随机项。
所以你的代码可能如下所示:
import sys, random
# Movie_List is now here
movies = []
addmovie = raw_input("Type 'a' to add a title, 'b' to pick a movie or '/' to quit: ")
while addmovie == 'a' or addmovie == '/' or addmovie == 'b':
if addmovie == 'a':
movies.append(raw_input("Enter movie name: "))
elif addmovie == '/':
print 'Goodbye.'
sys.exit()
elif addmovie == 'b':
break
addmovie = raw_input("Type 'a' to add a title, 'b' to pick a movie or '/' to quit: ")
# random choice
random_movie = random.choice(movies)
print random_movie