python定义一个列表_如何在Python中创建用户定义的列表?
你需要將怪物的數(shù)量發(fā)送給使用它的函數(shù):def welcome():
number = monsters()
print('Alright, ' + str(number) + ' monsters.')
print('So, what are the names of these beasties?')
# send number of monsters to 'monsterNames'
mNames = monsterNames(number)
以及:
^{pr2}$
您還應(yīng)該將number轉(zhuǎn)換為@BhargavRao提到的整數(shù):def monsters():
number = input('How many monsters will you face? ')
return int(number) # this can fail, use try-catch optimally
請注意,我也改變了(在評論提到它之后):[[input('Monster name ')]] * number # creates nested lists (mutable)
收件人:[input('Monster name ')] * number # creates list of strings (immutable)
用列表乘法(使用星運(yùn)算符)創(chuàng)建可變對象的列表是個(gè)壞主意。因?yàn)槟銓?shí)際上在整個(gè)列表中使用的是同一個(gè)對象。如果對象是可變的-對象的更改將反映在整個(gè)列表中。在
對于初學(xué)者來說,這是一個(gè)微妙的問題,請閱讀here以獲得更詳細(xì)的解釋。這僅僅是因?yàn)檫@些是字符串,它們是不可變的,不容易更改。在
現(xiàn)在這已經(jīng)不存在了,重要的是要注意你所做的就是在整個(gè)列表中重復(fù)相同的名字。你要做的是為每個(gè)怪物創(chuàng)建一個(gè)新的名字,所以你應(yīng)該使用一個(gè)需要多次輸入的列表理解。新的和改進(jìn)的monsterNames函數(shù)如下所示:# accept number rof monsters as an argument from 'welcome'
def monsterNames(number):
totalMobs = [input('Monster name ') for _ in range(number)]
return totalMobs
這將通過調(diào)用input指定次數(shù)創(chuàng)建一個(gè)怪物名稱列表。在
另外,選擇_作為變量名意味著它實(shí)際上在任何地方都沒有使用。在
總結(jié)
以上是生活随笔為你收集整理的python定义一个列表_如何在Python中创建用户定义的列表?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Wineskin不能打开添加的程序?ma
- 下一篇: python excel 填充颜色_“利