2014-01-26 23 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

相關問題