クラスの3つのインスタンスを作成し、異なる人物に異なる値を格納するプログラムを作成します。クラスの3つのインスタンスを作成し、異なる値を格納する
私が持っている現在のコードは、最後の人の情報を出力します。私はクラスを正しく設定するかどうかは分かりませんが、どんな助けも必要です。
#Main module
def main():
#Declare variables
name = ""
address = ""
age = ""
phoneNumber = ""
person1Information = personalInformation(name, address, age, phoneNumber)
person2Information = personalInformation(name, address, age, phoneNumber)
person3Information = personalInformation(name, address, age, phoneNumber)
#Person 1
name, address, age, phoneNumber = getPersonInformation(name, address, age, phoneNumber)
storePerson1Information(person1Information, name, address, age, phoneNumber)
#Person 2
name, address, age, phoneNumber = getPersonInformation(name, address, age, phoneNumber)
storePerson2Information(person2Information, name, address, age, phoneNumber)
#Person 3
name, address, age, phoneNumber = getPersonInformation(name, address, age, phoneNumber)
storePerson3Information(person3Information, name, address, age, phoneNumber)
#Display
displayInformation(person1Information, person2Information, person3Information)
#Ask for information
def getPersonInformation(name, address, age, phoneNumber):
name = str(input("What is this person's name?"))
address = str(input("What is the address for this person?"))
age = int(input("What is this person's age?"))
phoneNumber = str(input("What is their phone number?"))
return name, address, age, phoneNumber
#Add peron 1's information to class
def storePerson1Information(person1Information, name, address, age, phoneNumber):
person1Information.setName(name)
person1Information.setAddress(address)
person1Information.setAge(age)
person1Information.setPhoneNumber(phoneNumber)
return
#add peron 2's information to class
def storePerson2Information(person2Information, name, address, age, phoneNumber):
person2Information.setName(name)
person2Information.setAddress(address)
person2Information.setAge(age)
person2Information.setPhoneNumber(phoneNumber)
return
#Add person 3's information to class
def storePerson3Information(person3Information, name, address, age, phoneNumber):
person3Information.nameInformation = name
person3Information.addressInformation = address
person3Information.ageInformation = age
person3Information.phoneNumberInformation = phoneNumber
return
#Display the results
def displayInformation(person1Information, person2Information, person3Information):
print("Person 1's name:", person1Information.getName())
print("Person 2's name:", person2Information.getName())
print("Person 3's name:", person3Information.getName())
print("Person 1's age:", person1Information.getAge())
print("Person 2's age:", person2Information.getAge())
print("Person 3's age:", person3Information.getAge())
print("Person 1's address:", person1Information.getAddress())
print("Person 2's address:", person2Information.getAddress())
print("Person 3's address:", person3Information.getAddress())
print("Person 1's phone number:", person1Information.getPhoneNumber())
print("Person 2's phone number:", person2Information.getPhoneNumber())
print("Person 3's phone number:", person3Information.getPhoneNumber())
#Class holding variables and methods
class personalInformation(object):
#Declare vaibales
nameInformation = ""
addressInformation = ""
ageInformation = 0
phoneNumberInformation = ""
#Initialize?
def __init__(self, nameInformation, addressInformation, ageInformation, phoneNumberInformation):
self.nameInformation = nameInformation
self.addressInformation = addressInformation
self.ageInformation = ageInformation
self.phoneNumberInformation = phoneNumberInformation
#Modifiers
def setName(self, name):
nameInformation = name
return
def setAddress(self, address):
addressInformation = address
return
def setAge(self, age):
ageInformation = age
return
#Accessor
def setPhoneNumber(self, phoneNumber):
phoneNumberInformation = phoneNumber
def getName(self):
return self.nameInformation
def getAge(self):
return self.ageInformation
def getAddress(self):
return self.addressInformation
def getPhoneNumber(self):
return self.phoneNumberInformation
#Call main module
main()
[クラスとインスタンスの変数](https://stackoverflow.com/questions/2714573/instance-variables-vs-class-variables-in-python)を参照してください。あなたは*各メンバー*の代わりにあなたのクラス*のすべてのメンバー*に属する変数を作成しています* – CoryKramer
また、[Pythonでsetterとgettersを避ける](https://stackoverflow.com/questions/2627002/whats-the-pythonic – CoryKramer
そして、3組の関数を3回(3人の場合)使用する方法を学び、3つのほぼ同一のコピーを使用する方法を学ぶ必要があります。 – alexis