- 코드의 블록을 들여쓰기로 지정. 4개의 공백 문자를 사용하는 것을 표준으로 설정.
score = 85 if score >= 70: print('점수 70점 이상!') if score >= 90: print('우수한 성적') else: print('성적 70점 미만, 50점 이상') print('그래도 잘 했어') print('프로그램 종료합니다') # → 성적 70점 이상! \n 프로그램 종료합니다.
기본 조건문 형식은 다음과 같다.
if 조건문 1 and 조건문 3:
조건문 1이 true일 때 실행되는 코드
elif 조건문 2:
조건문 1, 3에 해당하지 않고, 조건문 2가 true일 때 실행되는 코드
else:
위의 모든 조건문이 모두 True 값이 아닐 때 실행되는 코드
**pass 키워드**아무것도 처리하고 싶지 않을 때. 디버깅 과정에서 형태만 만들어 놓고 조건문 처리 비용은 비워놓고 싶은 경우
if score >= 90: pass # 파이썬은 비워두면 안돼
else : print("꺄")
score = 85
result = “Success” if score >= 80 else “fail”
print(result) # → Success
cf. 파이썬은
0 < x <20형태 가능
for 변수 in 리스트:for i in range(시작, 끝 + 1): . 인자 하나일 때 시작 값은 자동 0continue 키워드 - 반복문에서 남은 코드 실행 건너 뛸 때.
result = 0
for i in range(1,10):
if i % 2 ==0:
continue
result += i
print(result) # → 25
break 키워드
i =1
while True:
if i ==5:
break
cf. 배열과 반복문
여기서 i는 인덱스가 아닌 arr[인덱스] 값이다! 조심!
for i in arr:
a[i] += 1
cf. 숫자 리스트를 스트링 리스트로 바꾸기
numbers = [6, 10, 2]
res = [str(i) for i in numbers]
print(res) # ['6', '10', '2']
참고로 방법 1의 매개변수는 (시작점, 끝점 -1, 감소 변화폭)이다.
n = 10 # 0 ~ 9를 출력해보자!
# 방법 1
for i in range(n-1, -1, -1):
print(i)
# 방법 2
for i in reversed(range(n)):
print(i)
zip함수를 사용해서 다음과 같은 2개의 리스트를 한 번에 반복해보자. 만약에 names와 nums의 길이가 같지 않다면 더 짧은 길이의 list 만큼만 반복한다. 예를 들어 nums = [11, 22]이면 a-11, b-22까지만 반복문이 적용된다.
names = ['a', 'b', 'c']
nums = [11, 22, 33]
case 1) 인덱스 정보까지 같이 얻고 싶을 때는 enumerate 함수도 같이 사용해 준다. 이때 (name,num)에 ()가 없으면 zip함수 관련 오류가 나므로 enumerate까지 사용해서 index 변수도 생성할 경우 꼭 표시해 준다.
for index, (name, num) in enumerate(zip(names, nums)):
print(index, name, num)
# 0 a 11
# 1 b 22
# 2 c 33
case 2) 1과 같이 enumerate를 사용하지만 해당 값을 어떤 변수에 저장하지 않는다. 그래도 함께 인덱스가 출력되는 것을 알 수 있다.
names = ['a', 'b', 'c']
nums = [11, 22, 33]
for name, num in enumerate(zip(names, nums)):
print(name, num)
# 0 ('a', 11)
# 1 ('b', 22)
# 2 ('c', 33)
case 3) zip함수 만으로 두 개의 함수를 같이 반복할 때이다.
for name, num in zip(names, nums):
print(name, num)
# a 11
# b 22
# c 33