好的,到目前为止我只知道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。但我希望它打印出“输入电影号码的名字'我'”以使其更有意义。有人可以帮助我,如果你得到我想要做的事情吗?
答案 0 :(得分: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
将项目添加到其末尾。您无法明确设置列表索引的上限,但这只会append
NumOfFilms
到FilmList
。
答案 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))