[解決済み] ペットクラス パイソン
2022-02-15 19:22:12
質問内容
今回の課題の指示です。 Pet という名前のクラスを作成し、以下の属性を持つようにしなさい。
- __名前
- __animal_type
- _年齢
そして、以下のようなメソッドを持つことになります。
- set_name
- 動物の種類を設定する
- 年齢を設定する
- 名前
- 動物の種類を取得する
- 年齢を取得する
このクラスが書けたら、このクラスのオブジェクトを生成して、ペットの名前、種類、年齢を入力させるプログラムを書いてください。データは、オブジェクトの属性として格納されます。ペットの名前、種類、年齢を取得し、画面に表示するには、オブジェクトのアクセッサメソッドを使用します。
以下は私のコードです。
class Pet(object):
def __init__(self, name, animal_type, age):
self.__name = name
self.__animal_type = animal_type
self.__age = age
def set_name(self, name):
self.__name = name
def set_type(self, animal_type):
self.__animal_type = animal_type
def set_age(self, age):
self.__age = age
def get_name(self):
return self.__name
def get_animal_type(self):
return self.__animal_type
def get_age(self):
return self.__age
# The main function
def main():
# Create an object from the Pet class
pets = Pet(name, animal_type, age)
# Prompt user to enter name, type, and age of pet
name = input('What is the name of the pet: ')
animal_type = input('What type of pet is it: ')
age = int(input('How old is your pet: '))
print('This will be added to the records. ')
print('Here is the data you entered:')
print('Pet Name: ', pets.get_name)
print('Animal Type: ', pets.get_animal_type)
print('Age: ', pets.get_age)
main()
このプログラムを実行すると、次のようなエラーが発生します。 UnboundLocalError: ローカル変数 'name' は代入前に参照されました。
どうすればいいですか?
あなたの問題は、ペットの詳細についてユーザーに尋ねる前にペットを作成していることです。
# The main function
def main():
# Create an object from the Pet class
# pets = Pet(name, animal_type, age) --------------------- move this
# |
# Prompt user to enter name, type, and age of pet # |
name = input('What is the name of the pet: ') # |
animal_type = input('What type of pet is it: ') # |
age = int(input('How old is your pet: ')) # |
pets = Pet(name, animal_type, age) # <---------------------- here
print('This will be added to the records. ')
print('Here is the data you entered:')
print('Pet Name: ', pets.get_name)
print('Animal Type: ', pets.get_animal_type)
print('Age: ', pets.get_age)
main()
関連
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
Python関数の高度な応用を解説
-
Python カメの描画コマンドとその例
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み] データ型が理解できない
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?