斜體文本可以跳過。命名自動生成的對象,python
首先:如果我要求的是基本知識,也很容易找到答案,或者任何類似的東西,可能會讓我的帖子煩人任何人,請原諒我。我剛剛接觸編程,剛開始有一個藉口不去讀書。 我正試圖製作一個程序,它可以模仿從人類部落進化到更好的人類部落。我的目標是在未來一段時間內製作一個非常簡單的文明類遊戲,專注於人而不是建築物和單位。從頭開始,現在對編程幾乎一無所知,我知道這是我可能永遠不會完成的任務。希望我會在路上學到一些東西。 因爲我的知識是如此有限,我的問題將是笨拙和嚴重製定。對不起,感謝您的閱讀。
當前問題: 我做了一個讓對象代表人物的類。
類看起來像這樣的時刻:
class Settler:
settlerCount = 0
iqlistfemale = []
iqlistmale = []
maleCount = 0
femaleCount = 0
surnameMale = []
surnameFemale = []
def __init__(self, sex):
if sex=="m" or sex=="f" or sex=="M" or sex=="F":
self.name = choice(surnames)
Settler.settlerCount += 1
self.iq=round(random.normalvariate(100,10))
if sex=="m" or sex=="M":
self.sex = "Male"
Settler.iqlistmale=Settler.iqlistmale+[self.iq]
Settler.surnameMale += [self.name]
Settler.maleCount += 1
else:
self.sex = "Female"
Settler.iqlistfemale=Settler.iqlistfemale+[self.iq]
Settler.surnameFemale += [self.name]
Settler.femaleCount += 1
後來將包含更多方式的屬性,這僅僅是一個開始。
我也做了一個循環,會問你一大堆男性創建,然後創建一定數量的女性。
環路的事情是這樣的:
x=int(input("Number of male Settlers to generate? (1-20) "))
if x >0 and x <21:
tellergenerator=0
while tellergenerator<x:
Settler("M")
tellergenerator=tellergenerator+1
else:
print("Wrong input!")
x=int(input("Number of female Settlers to generate? (1-20) "))
if x >0 and x <21:
tellergenerator=0
while tellergenerator<x:
Settler("F")
tellergenerator=tellergenerator+1
else:
print("Wrong input!")
而且,我做了一個高清的東西,讓你打電話的信息,對象的屬性:
def displaySettler(self):
print("Name:", self.name, "Sex:", self.sex, "IQ:", self.iq)
現在,問題:
- 主要問題:我的環路的東西做工精細,MEA它會創建我想要創建的正確性別的對象的數量。據我所知,我的問題是它創建了沒有名字的對象。這意味着我不能執行displaySettler()調用,因爲它需要我做nameofobject.displaySettler()。我如何使用某種循環函數來創建一堆對象,使這些對象具有名稱。
我已經找到一種方法來一些組合爲一個字符串,這可能讓我投入循環,產生像settler1,settler2,settler3對象名稱的系統,但我做到這一點的方法是做類似
x=settler
y=(some counter)
z=x+str(y)
這是我可以使用的東西嗎?我知道有名稱,以創建我的對象的唯一方法是通過編寫類似
settler1=Settler("F")
或
w=Settler("F")
是有可能使用變量z的內容來命名的東西嗎?
- 我還想問一下以下問題:正如你從我的課堂上看到的,我正在做一堆列表。我想我必須爲每個性別的每個屬性列出一個列表,其中包含所有對象的特定屬性。我希望這些列表能夠計算每個屬性的總體平均值,以及類似的事情。
是否可以直接從對象中獲取這些值,並直接通過所有對象並計算平均值?
或者換句話說:如果我有200個物體,有沒有辦法讓所有物體的智商加在一起?
感謝您的閱讀(如果有人有這麼遠)。所有建設性的反饋將非常感激。
這就是我剛剛寫的,只是改變是我會使用'for _ in range(x)'因爲'i'沒有使用 –
這只是一個樣式點。我更喜歡''我''',但每個他們自己。 –
非常好!非常感謝你。我甚至設法把這些東西放到一個班級裏,這樣我就可以隨時結交新朋友^^ /bow –