연습문제
1번 문제
user_data = [user_1, user_2, user_3]
user_data = [user_1, user_2, user_3]
다음 링크에서 생성한 user 데이터입니다. 이 데이터를 활용하여 User class를 만들어주세요. 인스턴스는 리스트로 관리됩니다. 다만 꼭 변수 이름이 user_1...user_n 일 필요는 없습니다.
JSON Generatordata = [
{
"_id": "fd7e9a0f-e77b-436a-B781-119b66033d49",
"index": "1",
"name": "나주헌",
"gender": "여성",
"age": "43"
},
{
"_id": "8ec6eabb-160a-41e4-A3de-cd33aff0b281",
"index": "2",
"name": "엄루다",
"gender": "남성",
"age": "22"
},
{
"_id": "bcf804f7-0452-4c31-B9d1-20cc2d38490b",
"index": "3",
"name": "형유환",
"gender": "남성",
"age": "31"
}
]
data = [
{
"_id": "fd7e9a0f-e77b-436a-B781-119b66033d49",
"index": "1",
"name": "나주헌",
"gender": "여성",
"age": "43"
},
{
"_id": "8ec6eabb-160a-41e4-A3de-cd33aff0b281",
"index": "2",
"name": "엄루다",
"gender": "남성",
"age": "22"
},
{
"_id": "bcf804f7-0452-4c31-B9d1-20cc2d38490b",
"index": "3",
"name": "형유환",
"gender": "남성",
"age": "31"
}
]
2번 문제
BankAccount 클래스를 생성하세요. 이 클래스는 owner(계좌주 이름), balance(잔액) 속성을 가져야 합니다. 이 클래스는 deposit(amount) (입금) 및 withdraw(amount) (출금) 메서드를 가져야 합니다. 단, 출금 시 잔액보다 큰 금액을 출금하려고 하면 "잔액 부족" 메시지를 출력해야 합니다.
3번 문제
Person
, Cook
, Developer
세 개의 클래스 코드입니다.
class Person:
def work(self):
print('열심히 일하자')
class Cook(Person):
def __init__(self, menu):
self.menu = menu
print('주방장이 될꺼야!')
def work(self):
print(f'{self.menu}를 만들자')
class Developer(Person):
def __init__(self, language):
self.language = language
print('CTO가 될꺼야!')
def work(self):
print(f'{self.language} 코드를 짜보자')
class Person:
def work(self):
print('열심히 일하자')
class Cook(Person):
def __init__(self, menu):
self.menu = menu
print('주방장이 될꺼야!')
def work(self):
print(f'{self.menu}를 만들자')
class Developer(Person):
def __init__(self, language):
self.language = language
print('CTO가 될꺼야!')
def work(self):
print(f'{self.language} 코드를 짜보자')
-
다음 코드의 출력 결과를 작성하세요.
person = Person() cook = Cook('피자') developer = Developer('파이썬') person.work() cook.work() developer.work()
person = Person() cook = Cook('피자') developer = Developer('파이썬') person.work() cook.work() developer.work()
-
새로운
MultiPlayer
클래스입니다.class MultiPlayer(Developer, Cook): pass
class MultiPlayer(Developer, Cook): pass
다음 코드의 출력 결과를 작성하세요.
multiPlayer = MultiPlayer('파이썬') multiPlayer.work()
multiPlayer = MultiPlayer('파이썬') multiPlayer.work()
답안
class User:
def __init__(self, data):
self._id = data['_id']
self.index = data['index']
self.name = data['name']
self.gender = data['gender']
self.age = data['age']
user_1 = User(data[0])
user_2 = User(data[1])
user_3 = User(data[2])
user_list = [user_1, user_2, user_3]
user_list[0].name
for i in user_list:
print(i.name)
######################
class User:
def __init__(self, _id, index, name, gender, age):
self._id = _id
self.index = index
self.name = name
self.gender = gender
self.age = age
def __repr__(self):
return f'user_{self.index}'
users = [User(**x) for x in data]
print(users)
users[0].name
########################
from dataclasses import dataclass
@dataclass
class User:
_id: str
index: str
name: str
gender: str
age: str
users = [User(**x) for x in data]
class User:
def __init__(self, data):
self._id = data['_id']
self.index = data['index']
self.name = data['name']
self.gender = data['gender']
self.age = data['age']
user_1 = User(data[0])
user_2 = User(data[1])
user_3 = User(data[2])
user_list = [user_1, user_2, user_3]
user_list[0].name
for i in user_list:
print(i.name)
######################
class User:
def __init__(self, _id, index, name, gender, age):
self._id = _id
self.index = index
self.name = name
self.gender = gender
self.age = age
def __repr__(self):
return f'user_{self.index}'
users = [User(**x) for x in data]
print(users)
users[0].name
########################
from dataclasses import dataclass
@dataclass
class User:
_id: str
index: str
name: str
gender: str
age: str
users = [User(**x) for x in data]
class BankAccount:
def __init__(self, owner, balance=0):
self.owner = owner
self.balance = balance
def deposit(self, amount):
self.balance += amount
return self.balance
def withdraw(self, amount):
if amount > self.balance:
print("잔액 부족")
else:
self.balance -= amount
return self.balance
class BankAccount:
def __init__(self, owner, balance=0):
self.owner = owner
self.balance = balance
def deposit(self, amount):
self.balance += amount
return self.balance
def withdraw(self, amount):
if amount > self.balance:
print("잔액 부족")
else:
self.balance -= amount
return self.balance
-
1번
열심히 일하자 피자를 만들자 파이썬 코드를 짜보자
열심히 일하자 피자를 만들자 파이썬 코드를 짜보자
-
2번
파이썬 코드를 짜보자
파이썬 코드를 짜보자