好的,我有一個有10個對象的類,它們具有屬性self.planet,self.distance,self.distsquared,self.radius,self.diamater where distance/distsquared/radius /直徑都是整數。我想在用戶搜索一個行星名稱,然後更改其中一個屬性的功能。根據用戶輸入更改屬性
例如,用戶應該輸入名稱「Jupiter」,然後找到該對象,該函數的下一行將要求用戶向屬性self.distance添加一定的總和。
目前第一類是設置如下:
class Planets():
def __init__(self, planetName, dist, radius, diameter):
self.planetName= planetName
self.dist= dist
self.radius= radius
self.diameter= diameter
這然後通過planetObjects=[Planets(*p) for p in planetList]
這是對象的名單,我想變成一本字典,以便用戶可以搜索planetName檢索,並改變距離
一些用戶建議我使用這個字典,但我不知道如何去做這件事。目前,我的課程將列表轉換爲對象列表,這些對象具有這些屬性,用戶應該可以通過搜索Planet名稱來更改這些屬性,然後更改其中的一個屬性。
類是目前只是一個簡單的類,它有一個構造函數和一個__str__
功能
含義,功能啓動時,會詢問用戶像「你想哪個星球來改變?」,用戶輸入「木星「該程序問道,」與木星的距離有何變化?「用戶添加例如450左右。
我現在的代碼是一個打開infile並將其變成列表清單的函數。這個列表然後變成對象。我將它轉換爲對象,可以輕鬆地對它進行排序並根據以前的值添加新值。但在這一點上,用戶還必須能夠通過搜索行星名稱然後更改其中一個屬性來改變值 - 這就是我迷失方向並需要幫助的地方!
有沒有辦法做到這一點?提前致謝!
你能發表一些你爲此寫的代碼嗎? – Sikorski
爲了更好地理解數據類型,您可以閱讀[python教程](http://docs.python.org/3/tutorial/datastructures.html#dictionaries)中的字典 –
我建議避免重複信息,例如只存儲一個半徑和直徑,因爲他們基本上是相同的信息與他們之間的轉換,* 2在這種情況下,相同的dist和squared_dist有一個簡單的轉換** 2因此不需要存儲兩個你總是可以訪問爲您完成轉換。 –