a=2
b=3
print (a+b) // 5 가 나온다
print (a> b) // false가 나온다
a= '2' //문자열 or a=str(2)
print (a+b) // 23가 나온다
문자열 다루기
1. 길이 재기 // 문자열의 길이를 재보자
myemail= abc@sparta.com
result =len(myemail)
print(result) // 11 이 출력된다
2. 문자열 자르기 // 이메일의 도메인만 출력해 보자
myemail= abc@sparta.com
result = myemail.split('@')[1].split('.')[0]
print(result) // sparta가 출력 된다
result = myemail[:3]// 앞에서 3번재 까지 보여줘
print(result) //abc
result = myemail[3:] // 3번째 뒤 문자부터 보여줘
print(result) //@sparta.com
result = myemail[3:7]// 3~7째 까지 보여줘
print(result) // @spa
a_list = [3,2,1,4,5]
a_list.sort ()
print(a_list) // [1,2,3,4,5]
a_list.sort(rever=True)
print(a_list) //[5,4,3,2,1]
result = (99 in a_list)
print(result) // False 가 출력 된다
//리스트와 딕셔너리의 조합 , smith 의 science 점수를 출력해 보자
people = [
{'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}},
{'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}},
{'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}},
{'name': 'john', 'age': 34, 'score':{'math':75,'science':100}}
]
print(people[2]['score']['science'] // 90 이 출력 된다
// 2번째 리스트에서, 딕셔너리 score 안에 science의 값을 꺼낸다
조건문+ 반복문 연습
//짝수의 개수를 출력해 보자
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
count =0
for num in num_list:
if num % 2==0 :
count += 1
print(count) // 7개가 출력 된다
// 리스트의 sum 을 구해 보자
sum =0
for num in num_list:
sum += num
print (sum)
//max 값을 구해 보자
max_value=0
for num in num_list:
if num > max_value:
max_value=num
print(max_value) // 6이 출력 된다
// 함수를 사용해서 주민등록번호의 성별을 구분해 보자
def check_gender(pin):
num = pin.split('-')[1][:1] // 주민등록번호 2번째 리스트에 첫번째 번호로 구분해준다
if int(num) %2 == 0: // '2'는 문자열이기 때문에 int()로 변환시켜준다
print('women')
else:
print('men')
check_gender('12345-234343') // women
check_gender('12345-134343') // men
check_gender('12345-235343') // women
//교집합, 합집합, 차집합을 구해보자
student_a = ['물리2','국어','수학1','음악','화학1','화학2','체육']
student_b = ['물리1','수학1','미술','화학2','체육']
set_a= set(student_a)
set_b= set(student_b)
print(set_a & set_b) // 교집합 {'수학1', '화학2', '체육'}
print(set_a | set_b) // 합잡합 {'체육', '화학2', '물리1', '화학1', '국어', '수학1', '미술', '물리2', '음악'}
print (set_a -set_b) // 차집합 {'화학1', '물리2', '국어', '음악'}
//f-string 사용해서 문자열 표현이 쉽고 깔금해진다
scores = [
{'name':'영수','score':70},
{'name':'영희','score':65},
{'name':'기찬','score':75},
{'name':'희수','score':23},
{'name':'서경','score':99},
{'name':'미주','score':100},
{'name':'병태','score':32}
]
for s in scores:
name= s['name']
score= s['score']
print= (f'{name}의 점수는 {score}입니다') // print (name+의 점수는 + score+ 입니다) 보다 간결함!
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby'},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
for person in people :
try:
if person ['age'] >20:
print (person['name'])
except:
print(person['name'], 'error')
// 나이가 20 이상인 이름들이 출력되고 bobby 에러입니다로 예외처리한뒤 나머지 이름을 출력한다
// 서버에 에러가 있을 경우를 대비해서 사용하고 남용하면 안된다!
// 삼항 연산자 (참일 때 값) if (조건) else (거짓일 때 값)
num = 3
result = "짝수" if num%2 == 0 else "홀수"
print(f"{num}은 {result}입니다.")
// for 문 축약 법, a_list 각 요소에 2를 곱한 새로운 리스트를 만들 때
a_list = [1, 3, 2, 5, 1, 2]
b_list = [a*2 for a in a_list]
print(b_list)
// people 에서 age 가 20 이상이면 성인, 이하면 청소년인 값을 새로운 리스트로 만들어 보자
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}
]
def check_adult(person):
return '성인' if person['age'] > 20 else '청소년' //삼항 연산자 활용해서 코드를 한줄로 줄이자
result = map(check_adult, people) // map을 사용해서 people이라는 리스트를 check_adult 함수를 돌려보자
print(list(result)) // result를 리스트로 뽑자 ['청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']
// 람다를 사용하면 코드를 한줄로 줄일 수 있다. 람다 형식에 나이로 성인과 청소년을 구분할 수 있는 함수를 적용하고, map 으로 리스트의 각요소를 람다 함수로 적용한다
result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
print(list(result)) // ['청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']
//필터를 사용해 성인만 리스트로 뽑아보자. filter(lambda x:x(함수), list)
result = filter(lambda x: x['age'] > 20, people)
print(list(result))
클래스
class 클래스이름:
def 메서드(self):
코드
instance = class()
instance.method() // 코드 값 프린드
// 게임에서 몬스터의 HP 관리를 해보자. 각각의 몬스터별로 hp와 상태를 확인한다
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('죽었다')
m = Monster()
m.damage(120)
m2 = Monster()
m2.damage(90)
m.status_check() // 죽었다
m2.status_check()// 살았다