2014-01-26 25 views
0

好吧,到目前为止我只知道C#,我已经开始学习python了。为了学习C#,我制作了一个电影程序,该程序显示了电影列表并让用户选择并输入他们的年龄,以查看他们是否足够年龄。试图用python来做同样的事情。如何在python中设置列表/数组的最大元素3

在开始时,人选择显示多少部电影,然后允许为每部电影输入电影名称,直到显示最大数量的电影。这是我在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。但我希望它能打印出“输入电影号码的名字''''以便更有意义。如果你有什么想做的事,有人可以帮助我吗?

回答

1

在Python中,你一般会做如下:

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

注意使用str.format来生成input一个字符串,而事实上,(如Python不支持用于初始化索引内置list)裸露的append将项目添加到它的末尾。您无法明确设定列表索引的上限,但这只会是appendNumOfFilmsFilmList

+0

非常感谢你,但一个进一步的问题。那么我到底在做FilmList = [NumOfFilms]呢?只需用变量NumOfFilms的值创建一个列表? – Foysal94

+0

您创建一个包含单个整数('FilmList [0] == NumOfFilms')的单元素列表('len(FilmList)== 1')。 – jonrsharpe

+0

我想通过{0}将变量“n”的值设置为0,但是我第一次看到类似的东西。你介意解释你在这里做了什么?你是怎么知道.format的,有这样的东西吗?我真的找不到Python语法的任何体面教程 – Foysal94

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()只接受一个字符串参数。如果你还想打印数字我然后你可以简单地连接'我'的字符串,你显示为:

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

非常感谢 – Foysal94

相关问题