Pythonで解答がわからず困っています
Pythonで解答がわからず困っています 賢い方知恵をお貸しくださいm(_ _)m # ユーザークラス class User: # コンストラクタ def __init__(self, number=0, name=''): self.__number = number # ユーザー番号(整数) self.__name = name # ユーザーの氏名(文字列) # number プロパティ(ユーザー番号) 【 1 】 def number(self): return self.__number @number.setter def number(self, number): if 0 < number < 10000: self.__number = number else: raise ValueError('番号は 1 ~ 9999 以内です') # name プロパティ(氏名) 【 1 】 def name(self): return self.__name @name.setter def name(self, name): if 0 < len(name) < 10: self.__name = name else: raise ValueError('氏名は 1 ~ 9 文字以内です') # User オブジェクトのリストを作成 user_list = [User(356, '田中'), User(128, '山田')] # 新規ユーザーの番号入力 number = int(input('番号(1 ~ 9999):')) # ユーザー番号は整数 # 同じ番号がないか調べる for u in user_list: if u.number == number: raise ValueError('同じ番号があります') # 新規ユーザーの名前入力 name = input('氏名(1 ~ 9 文字以内):') # 氏名は文字列 # 空の User を生成してプロパティで値をセット u = User() 【 2 】 = number # number プロパティで設定 【 3 】 = name # name プロパティで設定 # User をリストに追加 user_list.append(u) # ユーザーリストの表示 print() # 改行 print('番号順にユーザーを表示します') print() # 改行 for u in sorted(user_list, key=【 4 】 u: u.number): # key はラムダ式で設定 print(【 5 】'番号:{u.number:4} 氏名:{u.name}') # 番号は 4 桁分のスペース 実行結果 番号(1〜9999):56 氏名(1〜9文字以内):斉藤 番号順にユーザーを表示します 番号:56 氏名:斎藤 番号:128 氏名:山田 番号:356 氏名:田中 【1】〜【5】がわかりません
ベストアンサー
Python のインデントは構文上意味を持つことを知らないのですか? インデント用に何かの文字を付けるなりしないと読む人が困ると思いませんか? さらに、なにかの課題なのであればテキストを見ればわかるのでは? 【 1 】@property 【 2 】u.number 【 3 】u.name 【 4 】lambda 【 5 】f
1人がナイス!しています