如何在python 3中设置列表/数组的最大元素

时间:2014-01-26 18:38:10

标签: python list

好的,到目前为止我只知道C#而且我已经开始学习python了。为了学习C#,我制作了一个电影节目,其中显示了一系列电影,并让用户选择并输入他们的年龄,看他们是否足够大。尝试用python做同样的事情。

一开始,该人选择显示多少部电影,然后允许为每部电影输入电影名称,直至显示的最大电影数量。这是我在python中的尝试

print("Welcome to our multiplex:")
NumOfFilms = input("How many films are being shown?")
NumOfFilms = int(NumOfFilms)
FilmList = [NumOfFilms]

i = 0
while i < NumOfFilms:
    FilmList[i].append = input("Enter the name of film number",i)
    i = i + 1

在C#中我做了类似的事情,将我创建的数组的最大元素设置为等于NumOfFilms变量。试图在python中做同样的事情。变量“i”在这里被用作列表的元素放置器。但是每当我运行它时,我得到的一个错误是“列表赋值索引超出范围”。有人能帮帮我吗?

还有另一个问题,即函数输入除了2个参数外,在这种情况下是一个字符串和一个整数i。但我希望它打印出“输入电影号码的名字'我'”以使其更有意义。有人可以帮助我,如果你得到我想要做的事情吗?

2 个答案:

答案 0 :(得分:1)

在Python中,您通常会按如下方式执行此操作:

for n in range(NumOfFilms):
   title = input("Enter the name of film number {0}".format(n))
   FilmList.append(title)

注意使用str.formatinput生成单个字符串,以及(因为Python不支持对内置list初始化索引)这一事实append将项目添加到其末尾。您无法明确设置列表索引的上限,但这只会append NumOfFilmsFilmList

答案 1 :(得分:0)

语句FilmList = [NumOfFilms]不会创建大小为NumOfFilms的列表。它只会创建一个包含NumOfFilms的元素的列表。

而不是FilmList[i].append = input("Enter the name of film number",i)FilmList.append(input("Enter the name of film number"))应该有用。

Filmlist[i]=input("Enter the name of film number")会将输入的值插入到列表的第i个位置,而append()只接受列表的名称而不是索引,将始终在结尾插入新值清单。

关于第二个问题,函数input()只接受一个字符串参数。如果您还想打印数字i,那么您只需将“i”连接到您显示的字符串:

input("Enter the name of film number "+str(i))