4주차 진도 인증 사진!
이번 4주차의 중점: 클래스 실습 및 SQL 문법
예를들어, 유닛정보를 입력한다.
unit_mation = {
"dog" {
"name":"강아지",
"mineral" : 40,
"gas: : 9,
"hp" : 20,
"shield" : 30,
"damage": 1
}
"cat" {
"name":"야옹이",
"mineral" : 30,
"gas: : 5,
"hp" : 2,
"shield" : 9,
"damage": 100
}
}
다음, 클래스 유닛을 입력하고, 속성에 유닛리스트도 추가해준다.
그 다음, 생산을 해준다!
def produce(self, name, mineral, gas, hp, shield, damage):
if self.mineral - mineral < 0:
print("미네랄이 없어요")
elif self.gas - gas < 0:
print("가스 실종!! ")
else:
self.mineral -= mineral
self.gas -= gas
unit = Unit(name, hp, shield, damage)
self.unit_list.append(unit)
print(f"[{name}]을 생산")
그 후, 유닛생성 및 유닛 확인을 해주면 된다.
for unit in player1.unit_list:
print(f"[{unit.name}] 체력: {unit.hp} 방어: {unit.shield} 공격: {unit.damage} ")
ex : class Family :
"""
속성: 이름,
메서드: 보호, 집
"""
class son(family):
super()._init(name)
class daughtr(family):
super()._init(name)
을 사용하는 것이다.
sql lite 를 사용하면서 막혔던 점
sql lite를 통해 실습하던 도중, delete와 drop이 사용되지 않는 걸 알았다.
ALTER TABLE board DELETE COLUMN post_date
ALTER TABLE board drop COLUMN post_date
두 번 다 시도해본 결과, near "drop"syntax error 라는 말이 계속 떴다.
정말 당황해서 구글링도 열심히 해봤는데 결론은 "sql lite 3.35버전까지 지원이 안되는 명령어" 라고 한다..
해결 방법은 새로운 테이블을 만들고, 데이터를 옮기는 것인데 아직 초보인 나에게 조금 어렵기때문에, 터미널에서 시도했더니 됐다.
버전을 바꾸는 방법도 있지만 그건 선생님도 잘 모르신다고 했기때문에,
ALTER TABLE board DROP COLUMN content;
CREATE TABLE post(
id integer,
title text,
);
쿼리를 따로 실행하는 방법 밖에 없다.