if, elif, else 구문 사용.
이때 조건은 bool (True, False)
독립적인 조건이 있을 때
if if if ..
연속적인 조건이 있을 때
if elif elif… else
예시
💡회원가입이 성공하려면 글자가 영어와 숫자로만 이뤄져야하고 , 8글자 이상이어야 한다.if if 나열
영어와 숫자가 아니면 경고 8글자 미만이면 경고
이 두가지 조건은 독립적이다.
코드 형식
if not [회원 아이디가 영어와 숫자로 이뤄졌는지]:
영어와 숫자만 쓰라고 경고창
if not [8글자인지] :
8글자 이상 입력하라고 경고창 띄워주기
문제
계좌에 10000원이 들어 있습니다. 인출 금액을 입력 받습니다.
인출 금액이 계좌에 있는 금액보다 크면 "인출이 불가능합니다. {} 원의 잔액이 부족합니다." 출력
인출 금액이 계좌에 있는 금액보다 작으면 "{} 원이 인출 되었습니다." 출력
마지막에 현재 계좌의 잔액을 출력 : "현재 잔액은 {} 원 입니다." 출력
정답은 06.condition 과 loop코드에~~
ex) exit이나 상담종료 메세지 입력될 때까지 반복.
→ list, tuple , set , dict
while로 총점, 평균 구하기
→ [] 만들어서 pop . += 계산하자
while (True) : … 특정 조건 넣어서 무한루프 방지.
if ~ break. else ~
난 a라는 [] 만들어서 a. append 저장 후 sum(a)해서 숫자들을 다 더했다.
for item in [A,B,C]
HEAD
next
→ A꺼내서 item에 넣기.
next
→ B꺼내서 item에 넣기.
next
→ C꺼내서 item에 넣기
next
TAIL
[10,20,30]
[A,B,C]
순서 :: 10,20,30,A,B,C
순서 :: 10&A, 20&B. 30&C
→ [{ : }, { : }, … ]
→ { “ “ : [, ,] , “ “ : [, ,] …}
이런식의 구조 잘 다룰 수 있어야 함.
ex) [{ : }, { : }, … ]
3명의 수학,과학점수를 입력받고 평균 출력하기
→ 이런식으로 저장할 dict를 정의한다.
이때 math_score와 science_score는 입력값
[{'math': 10, 'science': 20}, {'math': 10, 'science': 40}]ex) { “ “ : [, ,] , “ “ : [, ,] …}
3명의 수학,과학점수를 입력받고 평균 출력하기
→ list에 먼저 추가하고
→ 딕셔너리 키에 맞춰 list저장
{'math': [30, 20, 10, 80],
'science': [30, 20, 10, 80]}
2단 3단 4단
... ... ...
5단 6단 7단
... ... ...
8단 9단
... ...
times = range(1, 10)
h_num = 3 # 가로로 표시할 숫자의 개수
for idx in range(0, len(dans), h_num):
# 한 줄에 표시할 단 가져오기
now_dan = dans[idx : idx + h_num] # 1) 0, 1, 2
for dan in now_dan:
print(f"{dan} 단", end='\t\t')
print()
for time in times:
for dan in now_dan:
print(f"{dan} * {time} = {dan * time}", end='\t')
print()
print()
0 1 2 3 4 5 6 7
[2 3 4 / 5 6 7 / 8 9 ]
인덱스가 0.3.6 인 것을 가져오면 된다.
range(0,9,3) → step 사용하자.
예시코드
for item in range(5):
if item == 3:
break
print(item)
print('-'*30)
for item in range(5):
if item == 3:
continue
print(item)
출력>

if, else구문 만들어서 한줄의 코드로 표현하여 삼항연산 수행
삼항연산 예시
a = 1
b = 2
if a>b:
result = "Hello"
else:
result = "Bye"
result
이러한 코드는
result = "hello" if a>b else "bye" 이런식의 한줄로 표현가능.
컴프리핸션 예시
데이터를 가공해서 list, set,dict 만들자. (tuple xxx)
list comprehension
[1, 4, 9, 16, 25] 이런값을 출력하고싶다.
[data**2 for data in range(1,6)]
추가할 값 for 값 in collection if 조건
문제!!
1~100까지 정수에 대해서 홀수는 제곱, 짝수는 그대로 리스트에 추가
이때 뒤에 if else쓰려는 고려 X -> 쓸지말지를 생각하는 함수이기 때문임
result2 = [ i **2 if i%2 ==1 else i for i in range(1,101)]
set comprehension
text = {'a', 'b', 'c'}
#set 컴프리헨션!
result = {f"{letter}입니다." for letter in text}
result
결과 :: {'a입니다.', 'b입니다.', 'c입니다.'}
dict comprehension
key_list = ["아침","점심","저녁"]
value_list = ["바나나","구내식당","카레"]
a = { meal : food for meal, food in zip(key_list, value_list)}
결과 :: {'아침': '바나나', '점심': '구내식당', '저녁': '카레'}
실습!!
단어가 몇번 등장했나요?
text= "letter"
result = {char : text.count(char) for char in set(text)}
result