내배캠 8일차

·2022년 11월 21일
0

내일배움캠프

목록 보기
7/142
post-thumbnail

독학으로 공부했던 파이썬을 강의로 들으니 새로 배우는 것도 있고 복습하는 느낌도 드는 하루인것같다.

#리스트와 딕셔너리

a_list = [1,6,5,4,3]

#정렬

a_list.sort()

#내림차순 정렬

a_list.sort(reverse=True)

print(a_list)

#내부에 원하는 값이 있는지 확인

result = (99 in a_list)

print(result)

#enumerate, break

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for i, person in enumerate(people):
    name = person['name']
    age = person['age']
    print(i,name, age)
    if i > 3 :
        break

#튜플은 클래스와 다르게 목록 수정 불가 > 불변형

a=('사과', '배', '감')

a[1]='수학'

print(a)

=>에러남

#집합 > 중복제거

a = [1,6,7,8,2,5,6,1,2,2,2,5]

a_set = set(a)

print(a_set)

#교집합, 합집합

a = ['사과', '감', '배', '수박', '딸기']
b = ['배', '사과', '포도', '참외', '수박']

a_set = set(a)
b_set = set(b)

print(a_set & b_set)
print(a_set | b_set)

#연습문제(차집합)

student_a = ['물리2','국어','수학1','음악','화학1','화학2','체육']
student_b = ['물리1','수학1','미술','화학2','체육']

a_set = set(student_a)
b_set = set(student_b)

print(a_set - b_set)

#fstring

print(name+'의 점수는 '+score+'점입니다.')
print(f'{name}의 점수는 {score}점입니다.')

#파일불러오기

from 파일명 import *(전부)

#긴코드 한 줄로 만들기

#if문

num = 3

# if num % 2 == 0:
#     result = '짝수입니다'
# else:
#     result = '홀수입니다'

result = ('짝수' if num % 2 == 0 else '홀수') # 괄호없어도 가능

print(f'{num}{result}')

#for문

a_list = [1,3,2,5,1,2]

# b_list = []
# for a in a_list:
#     b_list.append(a * 2)

b_list = [a * 2 for a in a_list]

print(b_list)

#map/lambda/filter

#map+lambda

def check_adult(person):
    #if person['age'] > 20:
    #    return '성인'
    #else:
    #    return '청소년'
    return ('성인' if person['age'] > 20 else '청소년')

#people을 하나씩 check_adult로 넣어라
result = map(check_adult, people)
# result = map(lambda x: x, people) #lambda기본형-people 돌면서 x에 넣는것
result = map(lambda person: ('성인' if person['age'] > 20 else '청소년'), people)
#people에 있는걸 person에 넣는데 그걸 이렇게 return해라
print(list(result))

#filter+lambda

#filter는 map과 유사함 근데 true인 것들만 뽑아줌
result = filter(lambda person: person['age'] > 20, people)
#people에 있는걸 person에 넣는다 그 중 조건을 만족하는 것만 

print(list(result))

#함수심화

#무제한변수(*args)

def cal(*args):
    for name in args:
        print(f'{name} 밥먹어라~')

result = cal('영희', '철수', '영수')

#키워드 인수 여러개(**kwargs)

def cal(**kwargs):
    print(kwargs)

cal(name ='bob',age =30,height=180) #딕셔너리 생성

#class

#Monster() : 클래스/ m1 ,m2 : 인스턴스

class Monster():
    hp = 100
    alive = True

    def damage(self, attack):
        self.hp = self.hp - attack
        if self.hp < 0:
            self.alive = False

    def status_check(self):
        if self.alive:
            print('살았다!')
        else:
            print('죽었다!')


m1 = Monster()
m1.damage(150)
m1.status_check()

m2 = Monster()
m2.damage(80)
m2.status_check()
profile
개발자 꿈나무

0개의 댓글