Python - 기초 (3)

제갈창민·2021년 10월 11일
0

learningbook

목록 보기
5/32

분기 : 상황에 따라 맞는 코드를 실행하는 것.

<선언> weather = "비" # 미세먼지, 맑음

if 조건:

실행 명령문

if weather == "비":

print("우산을 챙기세요")

elif weather == "미세먼지":

print("마스크를 챙기세요")

else: # 만약 else 가 없으면 아무것도 출력되지 않는다.

print("준비물 필요 없어요.")

<선언> weather = input("오늘 날씨 어때요? ")

★ 터미널에서 직접 답변 후 설정 된 값을 출력 해준다.

if weather == "비" or weather == "눈": # or 문으로 조건을 추가 할 수 있다.

print("우산을 챙기세요")

elif weather == "미세먼지":

print("마스크를 챙기세요")

else:

print("준비물 필요 없어요.")

<선언> temp = int(input("기온은 어때요? "))

★ 숫자로만 값을 설정하기 위해 int문 추가

if 30 <= temp:

print("너무 더워요. 나가지 마세요")

elif 10 <= temp and temp <30:

print("괜찮은 날씨에요")

elif 0 <= temp and temp < 10:

print("외투를 챙기세요")

else:

print("너무 추워요")

for 반복문 :

print("대기번호 :1")

for waiting_no in [0, 1, 2, 3, 4]: # []의 값은 range(1, 6) 로 바꿔서 사용 가능

print("대기번호 : {0}".format(waiting_no

★ 스벅에서 손님 호명하는 프로그램

starbucks = ["아이언맨", "토르", "그루트"]

for customer in starbucks:

print("{0}, 커피가 준비되었습니다.".format(customer))

while 반복문

customer = "토르" # 5번을 호명했지만 나타나지 않으면 커피를 버린다는 조건

index = 5 # 호명 횟수

★ while (조건): # while : 조건을 만족할때까지 반복하라는 함수

while index >= 1:

print("{0}, 커피가 준비 되었습니다. {1} 번 남았어요.".format(customer, index))

index -= 1 # 횟수를 줄여나가는 명령

if index == 0:

print("커피는 버리겠습니다.")

★ 무한 반복

customer = "아이언맨"

index = 1

while True: # (무한 반복함) => Ctrl + C 를 누르면 강제 멈춤, 종료 가능

print("{0}, 커피가 준비 되었습니다. 호출 {1} 회.".format(customer, index)

★ 선언한 값이 나올때까지 반복

customer = "토르"

person = "Unknown"

while person != customer : # 조건(customer = 토르)에 맞는 값(토르)이 나올때까지 반복해서 물어본다

print("{0}, 커피가 준비 되었습니다.".format(customer))

person = input("성함이 어떻게 되세요? ")

continue 와 break

absent = [2, 5] # 결석

no_book = [7] # 책이 없는 학생

for student in range(1, 11): # 1~ 10번까지 출석번호가 있다고 설정

if student in absent: # absent 에 있는 값을 스킵하고 다음으로 넘어감(continue)

continue

elif student in no_book: # no_book 에 있는 값이 나오면 실행을 멈춤(break)

print("오늘 수업 끝. {0}는 교무실로 따라와". format(student))

break

print("{0}, 책을 읽어봐".format(student))

한 줄 for

★ 출석번호가 1 2 3 4 > 룰이 변경됨> 앞에 100을 붙이기로 함 -> 101, 102, 103...

students = [1,2,3,4,5]

print(students)

students = [i+100 for i in students]

print(students)

학생 이름을 글자수로 변환

students = ["Iron man", "Thor", "Groot"]

students = [len(i) for i in students]

print(students)

학생 이름을 대문자로 변환

students = ["Iron man", "Thor", "Groot"]

students = [i.upper() for i in students]

print(students)

퀴즈5

★ 타다 택시기사. 50명의 승객과 매칭 기회 있음. 총 탑승 승객 수를 구하는 프로그램 작성

★ 조건1 : 승객별 운행 소요 시간은 5~50분 사이의 난수

★ 조건2 : 소요 시간 5분 ~ 15분 사이의 승객만 매칭해야 한다.

★ (예제)

★ [0] 1번째 손님 (소요시간 : 15분)

★ [ ] 2번째 손님 (소요시간 : 50분)

★ [0] 3번째 손님 (소요시간 : 5분)

★ ...

★ [ ] 50번째 손님 (소요시간 : 16분)

★ 총 탑승 승객 : 2 분

풀이

from random import *

cnt = 0 # 총 탑승 승객 수

for i in range(1, 51): # 1 ~ 50 사이의 수(승객)

time = randrange(5, 51) # 5 ~ 50 사이 (소요시간)

if 5 <= time <= 15: # 5분 ~ 15분 이내의 손님(매칭 성공), 탑승 승객 수 증가 처리

print("[0] {0}번째 손님 (소요시간 : {1}분)".format(i, time))

cnt += 1

else: # 매칭 실패의 경우

print("[ ] {0}번째 손님 (소요시간 : {1}분)".format(i, time))

print("총 탑승 승객 : {0} 분".format(cnt))





[Type one time is better than read ten times]

profile
자기계발 중인 신입 개발자

0개의 댓글