🎉 berenickt 블로그에 온 걸 환영합니다. 🎉
Lang
python
05-제어문

1. 조건문

1
# 6.1.1
2
weather = "비"
3
4
if weather == "비": # 대입 연산자(=)가 아닌 비교 연산자(==) 사용
5
print("우산을 챙기세요.")
6
7
8
# 6.1.2
9
weather = "맑음"
10
11
if weather == "비":
12
print("우산을 챙기세요.")
13
14
15
weather = "미세먼지"
16
17
if weather == "비":
18
print("우산을 챙기세요.") # 1번
19
elif weather == "미세먼지":
20
print("마스크를 챙기세요.") # 2번
21
22
23
# 6.1.3
24
weather = "맑음"
25
26
if weather == "비":
27
print("우산을 챙기세요.")
28
elif weather == "미세먼지":
29
print("마스크를 챙기세요.")
30
else:
31
print("준비물이 필요 없어요.")
32
33
34
# 6.1.4
35
weather = input("오늘 날씨는 어때요? ")
36
# print(weather)
37
38
if weather == "비":
39
print("우산을 챙기세요.")
40
elif weather == "미세먼지":
41
print("마스크를 챙기세요.")
42
else:
43
print("준비물이 필요 없어요.")
44
45
46
weather = input("오늘 날씨는 어때요? ")
47
48
if weather == "비" or weather == "눈": # 조건 변경
49
print("우산을 챙기세요.")
50
elif weather == "미세먼지":
51
print("마스크를 챙기세요.")
52
else:
53
print("준비물이 필요 없어요.")
54
55
56
temp = int(input("오늘 기온은 어때요? ")) # 입력값을 정수형으로 형변환
57
58
if 30 <= temp: # 30도 이상이면
59
print("너무 더워요. 외출을 자제하세요.")
60
elif 10 <= temp and temp < 30: # 10도 이상 30도 미만이면
61
print("활동하기 좋은 날씨예요.")
62
elif 0 <= temp and temp < 10: # 0도 이상 10도 미만이면
63
print("외투를 챙기세요.")
64
else: # 그 외의 모든 경우(0도 미만이면)
65
print("너무 추워요. 나가지 마세요.")
66
67
68
temp = int(input("오늘 기온은 어때요? "))
69
70
if 30 <= temp:
71
print("너무 더워요. 외출을 자제하세요.")
72
elif 10 <= temp < 30:
73
print("활동하기 좋은 날씨예요.")
74
elif 0 <= temp < 10:
75
print("외투를 챙기세요.")
76
else:
77
print("너무 추워요. 나가지 마세요.")
78
79
80
temp = int(input("오늘 기온은 어때요? "))
81
82
if temp >= 30:
83
print("너무 더워요. 외출을 자제하세요.")
84
elif temp >= 10:
85
print("활동하기 좋은 날씨예요.")
86
elif temp >= 0:
87
print("외투를 챙기세요.")
88
else:
89
print("너무 추워요. 나가지 마세요.")

2. 반복문 - for

1
for waiting_no in [1, 2, 3, 4, 5]:
2
print("대기번호 : {0}".format(waiting_no)) # {0} 위치에 waiting_no의 값이 들어감
3
4
for waiting_no in range(5): # 0부터 5 직전까지(0~4)
5
print("대기번호 : {0}".format(waiting_no))
6
7
for waiting_no in range(1, 6): # 1부터 6 직전까지(1~5)
8
print("대기번호 : {0}".format(waiting_no))
9
10
for waiting_no in range(1, 6, 2): # 1부터 6 직전까지(1~5)에서 2씩 간격 주기
11
print("대기번호 : {0}".format(waiting_no))
12
13
orders = ["아이언맨", "토르", "스파이더맨"] # 손님 닉네임 리스트
14
for customer in orders:
15
print("{0} 님, 커피가 준비됐습니다. 픽업대로 와 주세요.".format(customer))

3. 반복문 - while

1
customer = "토르" # 손님 닉네임
2
index = 5 # 초깃값, 부르는 횟수 최대 5번
3
4
while index >= 1: # 부르는 횟수가 1 이상일 때만 실행
5
print("{} 님, 커피가 준비됐습니다.".format(customer))
6
index -= 1 # 횟수 1회 차감
7
print("{}번 남았어요.".format(index))
8
if index == 0: # 5번 모두 불렀다면
9
print("커피를 폐기 처분합니다.")
10
11
"""
12
customer = "아이언맨"
13
index = 1
14
15
while True:
16
print("{0} 님, 커피가 준비됐습니다. 호출 {1}회".format(customer, index))
17
index += 1
18
"""
19
20
customer = "토르"
21
person = None
22
23
while person != customer:
24
print("{0} 님, 커피가 준비됐습니다.".format(customer))
25
person = input("이름이 어떻게 되세요? ")

4. continue문과 break

1
absent = [2, 5] # 결석한 학생 출석번호
2
no_book = [7] # 책을 가져오지 않은 학생 출석번호
3
4
for student in range(1, 11): # 출석번호 1~10번
5
if student in absent: # 결석한 학생이면
6
continue # 다음 학생으로 넘어가기
7
elif student in no_book: # 책을 가져오지 않으면 바로 수업 종료
8
print("오늘 수업은 여기까지. {0}번 학생은 교무실로 따라와요.".format(student))
9
break # 반복문 탈출
10
print("{0}번 학생, 책을 읽어 보세요.".format(student))

5. 반복문 - 1줄 for 심화

1
students = [1, 2, 3, 4, 5]
2
print(students)
3
4
# 한 줄 for 문으로 각 항목에 100 더하기
5
students = [i + 100 for i in students]
6
# students = [students[0] + 100, students[1] + 100, students[2] + 100, students[3] + 100, students[4] + 100]
7
# students = [1 + 100, 2 + 100, 3 + 100, 4 + 100, 5 + 100]
8
print(students)
9
10
11
students = ["Iron man", "Thor", "Spider Man"]
12
print(students)
13
14
# 한 줄 for 문으로 각 이름을 이름의 길이 정보로 변환
15
students = [len(i) for i in students]
16
# students = [len(students[0]), len(students[1]), len(students[2])]
17
# students = [len("Iron man"), len("Thor"), len("Spider Man")]
18
print(students)
19
20
21
students = ["Iron man", "Thor", "Spider Man"]
22
print(students)
23
24
# 한 줄 for 문으로 각 이름을 모두 대문자로 변경
25
students = [i.upper() for i in students]
26
print(students)

6. 퀴즈. 택시 승객 수 구하기

1
"""
2
Quiz) 당신은 Cocoa 서비스를 이용하는 택시 기사입니다.
3
50명의 승객과 매칭 기회가 있을 때, 총 탑승 승객 수를 구하는 프로그램을 작성하시오.
4
5
조건 1 : 승객별 운행 소요 시간은 5 ~ 50분 사이의 난수로 정해집니다.
6
조건 2 : 당신은 소요 시간 5분 ~ 15분 사이의 승객만 매칭해야 합니다.
7
8
출력문 예제)
9
[0] 1번째 손님 (소요시간 : 15분)
10
[ ] 2번째 손님 (소요시간 : 50분)
11
[0] 3번째 손님 (소요시간 : 5분)
12
...
13
[ ] 50번째 손님 (소요시간 : 16분)
14
15
총 탕습 승객 : 2 분
16
"""
17
from random import *
18
19
cnt = 0 # 총 탑승객 수
20
21
for i in range(1, 51): # 손님 총 50명
22
time = randrange(5, 51) # 변수 정의 소요시간 5~50분
23
if 5 <= time <= 15: # 소요시간 5~15분인 손님만 매칭
24
print("[O] {0}번째 손님 (소요시간 : {1}분)".format(i, time)) # 매칭 성공 출력
25
cnt += 1 # 총 탑승객 수 증가 처리
26
else: # 매칭 실패 시
27
print("[ ] {0}번째 손님 (소요시간 : {1}분)".format(i, time)) # 매칭 실패 출력
28
29
print("총 탑승객 : {0}명".format(cnt)) # 총 탑승객 수 출력