0
我有一個程序可以讀取帶有數據的文件,然後將數據轉換爲對象列表。 用戶可以選擇根據姓名,年齡,種類或性別在列表中進行搜索。 搜索功能對於所有四種搜索方法的工作原理完全相同,只是屬性發生了變化。如何在Python中查找對象列表時更改屬性
我想對所有四個屬性使用相同的方法,只是根據用戶的選擇更改屬性。
# -*- coding: UTF-8 -*-
from Animal import Animal
from searchName import searchName
from searchAge import searchAge
from searchSpecies import searchSpecies
from searchGender import searchGender
def search():
print ("Search for: \n 1. Name \n 2. Age \n 3. Species \n 4. Gender \n")
searchFor = int(input("Answer with number: "))
if searchFor == 1:
searchF = input("Name? ")
searchName(fullset, searchF)
elif searchFor == 2:
searchF = int(input("Age? "))
searchAge(fullset, searchF)
elif searchFor == 3:
searchF = input("Spe? ")
searchSpecies(fullset, searchF)
elif searchFor == 4:
searchF = input("Gender? ")
searchGender(fullset, searchF)
else:
print ("Invalid input")
如果用戶選擇1,searchName方法被稱爲:
def searchName(fullset, searchF):
returnVal = print("No match")
i = 0
for djur in fullset:
if fullset[i].name == searchF:
returnVal = print ("Match: ", fullset[i])
break
else:
i += 1
return(returnVal)
我怎麼能寫的搜索方法,這樣容易fullset[i].name
可以改爲.age
,.species
,.gender
?