-
[Python 기초 #5] 제어문 if, while, forProgramming 기초/Python 2023. 4. 18. 17:56
* if 문
- if 조건문 형식으로, 조건문이 참일 때 아래 문장을 실행한다. 여기서 if 문에 속하는 모든 문장은 같은 너비로 들여쓰기(identation)를 해주어야 한다.
- 조건문 뒤에는 반드시 콜론(:)이 붙는다.(문법)
money = 2000 card = True if money >= 3000 and card: print("택시를 타고 가라") else: print("걸어 가라") -------------------------------- 걸어 가라
* x in s, x not in s
in not in x in 리스트 x not in 리스트 x in 튜플 x not in 튜플 x in 문자열 x not in 문자열 * pass : 조건문에서 아무 일도 하지 않게 설정하고 싶을 때
poket = ['paper', 'money', 'cellphone'] if 'money' in poket: pass # 한 줄일 때는 콜론(:) 옆에 바로 이어서 써도 된다. else: print("카드를 꺼내라") ----------------------------------------------
* elif 다양한 조건을 판단할 때
poket = ['paper', 'cellphone'] card = True if 'money' in poket: # 주머니에 돈이 있으면 print("택시를 타고 가라1") elif card: # 주머니에 돈이 없고 카드가 있으면 print("택시를 타고 가라2") else: #주머니에 돈도 없고 카드도 없으면 print("걸어 가라") ------------------------------------------- 택시를 타고 가라2
* 조건부 표현식
if score >= 60: message = "success" else: message = "failure"
위 코드에 (가독성을 높이고자 한 줄로 줄이는) 조건부 표현식을 적용하면 아래와 같다.
조건문이 참인 경우 if 조건문 else 조건문이 거짓인 경우
message = "success" if score >= 60 else "failure"
* while문
prompt = """ 1. Add 2. Del 3. List 4. Quit Enter number: """ number = 0 while number != 4: # 4가 아니면 prompt 문자열을 다시 출력한다. print(prompt) number = int(input()) # input()은 입력받는 함수다.
* break문과 continue문
- break 문은 while문을 탈출한다.
- continue문은 처음으로 돌아간다.
coffee = 10 while True: money = int(input("돈을 넣어주세요 :")) if money == 300: print("커피 한 잔 나왔습니다. 남은 커피 양은 %d 입니다.\n" % (coffee-1)) coffee -= 1 elif money <= 300: print("돈이 부족합니다. 금액을 반환합니다.\n") continue # 맨 처음으로 돌아간다. else: print("커피 한 잔 나왔습니다.") print("남은 커피 양은 %d 입니다. 거스름돈 : %d를 반환합니다.\n" % (coffee-1, money-300)) coffee -= 1 if coffee == 0: print("재고가 소진됐습니다. 판매를 종료합니다.") break # while문을 탈출한다. --------------------------------------------------------- 돈을 넣어주세요 :200 돈이 부족합니다. 금액을 반환합니다. 돈을 넣어주세요 :300 커피 한 잔 나왔습니다. 남은 커피 양은 9 입니다. 돈을 넣어주세요 :400 커피 한 잔 나왔습니다. 남은 커피 양은 8 입니다. 거스름돈 : 100를 반환합니다. ... ... ... 돈을 넣어주세요 :1000 커피 한 잔 나왔습니다. 남은 커피 양은 0 입니다. 거스름돈 : 700를 반환합니다. 재고가 소진됐습니다. 판매를 종료합니다.
*for문
리스트나 튜플, 문자열의 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입된다.
a = [(1, 2), (3, 4), (5, 6)] for i in a: # a의 요소를 순서대로 i에 대입 print(i) for (first, last) in a: #a 리스트의 요솟값이 튜플이기 때문에 각각의 요소가 자동으로 (first, last)변수에 대입된다. print(first + last) ----------------------- (1, 2) (3, 4) (5, 6) 3 7 11
* for문과 함께 자주 사용하는 ragne 함수
- range 함수 : 숫자 리스트를 자동으로 만들어 주는 함수
- range(시작 숫자, 끝 숫자, 간격)
a = range(5) # range(끝 숫자) print(a) print(a[2]) a = range(1, 10)[4] print(a) a = range(1, 10, 2) print(a[3]) ----------------------- range(0, 5) 2 5 7
* range(), len(), continue문을 활용한 예시
- len함수 : 리스트 안의 요소 개수를 돌려주는 함수
marks = [90, 25, 67, 45, 80] for number in range(len(marks)): # len()은 리스트 안의 요소 개수를 반환한다. if marks[number] < 60: continue # 점수가 60점 미만이면 맨 처음으로 돌아간다. print("%d번 " % (number+1), end="") # end=""를 붙이면 다음줄로 넘기지 않고 이어서 출력한다. print("학생 축하합니다.") print("Congratulation!!") ------------------------------ 1번 3번 5번 학생 축하합니다. Congratulation!!
* List comprehension(리스트 내포)
[표현식 for 항목1 in 반복 가능 객체1 if 조건1
for 항목2 in 반복 가능 객체2 if 조건2
for 항목n in 반복 가능 객체n if 조건n]a = [1, 2, 3, 4] result = [num*3 for num in a if num % 2 == 0] print(result) ---------------------------- [6, 12]
# 구구단의 모든 결과 result = [x*y for x in range(2, 10) for y in range(1, 10)] print(result) ------------------------------------- [2, 4, 6, 8, 10, 12, 14, 16, 18, 3, 6, 9, 12, 15, 18, 21, 24, 27, 4, 8, 12, 16, 20, 24, 28, 32, 36, 5, 10, 15, 20, 25, 30, 35, 40, 45, 6, 12, 18, 24, 30, 36, 42, 48, 54, 7, 14, 21, 28, 35, 42, 49, 56, 63, 8, 16, 24, 32, 40, 48, 56, 64, 72, 9, 18, 27, 36, 45, 54, 63, 72, 81]
'Programming 기초 > Python' 카테고리의 다른 글
[Python 기초 #7] 클래스, 객체와 인스턴스 차이, 생성자, 상속, 오버라이딩 (0) 2023.04.21 [Python 기초 #6] 함수, 사용자 입력과 출력, 파일 읽고 쓰기 (0) 2023.04.19 [Python 기초 #4] 집합(set), 불(bool), 변수(variable) (0) 2023.04.15 [Python 기초 #3] 튜플(tuple), 딕셔너리(dictionary) (0) 2023.04.14 [Python 기초 #2] 리스트 자료형 (0) 2023.04.14