분기.py

몽자비루 ㅣ 2023. 3. 11. 13:46

## if
weather = input("오늘 날씨는 어때요? : ")
if weather == "비"or"눈":
    print("우산을 챙기세요")
elif weather == "미세먼지":
    print("마스크를 챙기세요")
else :
    print("준비할 필요 없어요.")

# input은 무조건 string type으로 들어가기 때문에 int형으로 변경 필요.
temp = int(input("기온은 어때요? : "))
if temp >= 30:
    print("너무 더워요. 나가지 마세요")
elif temp < 30 and temp >=10:
    print("날씨가 좋아요")
# temp < 10 and temp >=0 대신 하나로 합쳐 사요할 수 있다.
elif 0 <= temp <10 : 
    print("외투를 챙기세요")
else :
    print("너무 추워요. 나가지 마세요.")
  • if 문 : if / elif / else 순으로 사용함.
## for
# range(n,m) > n~m-1까지의 범위
# range(n) > 0~n-1까지의 범위
for waiting_no in range(5):
    print("대기번호 : {}".format(waiting_no))

# customer 에 'a'~'z'까지 리스트로 입력.
# 대문자로 입력하고 싶은 경우, ascii_uppercase 사용.
from string import ascii_lowercase
customers = list(ascii_lowercase)
print(customers)

for customer in customers:
    print(f"{customer} 님, 커피가 준비되었습니다.")
  • for 문 : for 변수 in 범위 : action 순으로 사용함.
## while
# 손님을 5회호출 후 커피 폐기
index = 5
# index 가 1보다 크거나 같을때까지 반복함.
while index>=1:
    print(f"{customer}님, 커피가 준비되었습니다. {index}번 남았어요.")
    # 만약 v 가 없으면 무한루프로 들어간다.
    # 무한루프로 들어갔을때 터미널에서 ctrl+c를 통해 종료 가능.
    index -=1
print("커피는 폐기되었습니다.")

person = "null"
while person != customer:
    print(f"{customer}님, 커피가 준비되었습니다.")
    person = input("이름이 어떻게 되세요? : ")
  • while 문 : while(조건) : action 순으로 사용하며, 조건이 맞지 않으면 탈출
## continue와 break
absent = [2,5]
no_book = [7]
for student in range(1,11):
    if student in absent:
        # continue : 남은 문장을 실행하지 않고, 다음 분기 실행.
        continue
    elif student in no_book:
        # break : 남은 문장을 실행하지 않고 반복문 종료.
        print("오늘 수업은 여기까지 {}는 교무실로 따라와".format(student))
        break
    else:
        print("{}번, 책을 읽으세요".format(student))
  • continue를 만났을 때 : 남은 문장을 실행하지 않고 다음분기 실행
    break 를 만났을 때 : 남은 문장 및 분기를 실행하지 않고 종료.
## 한줄 for
# 출석번호가 1,2,3,4 > 100을 더함
students = list(range(1,6))
print(students)
students = [i+100 for  i in students]
print(students)

# 이름을 길이로 변환
students = ["ironman", "spiderman", "thor", "i am groot"]
students = [len(i) for i in students]
print(students)

# 이름을 대문자로 변환
students = ["ironman", "spiderman", "thor", "i am groot"]
students = [i.upper() for i in students]
print(students)

# 2단 for문 한줄쓰기
list = []
for i in range(4):
    for j in range(4):
        list.append(j)
print(list)

# 들어갈 변수명 for문1 for문2
list = [j for i in range(4) for j in range(4)]
print(list)

# print문 안에 if문
# 결과1 if 조건1 else 결과2
int_a = 5
if int_a > 3:
    print("over")
else:
    print("under")

print("over" if int_a > 3 else "under")

# 2단 if문 활용
int_a = 3
if int_a > 3:
    print("over")
elif int_a ==3:
    print("same")
else:
    print("under")

# 결과1 if 조건1 else 결과2 if 조건2 else 결과3
int_a = 3
print("over" if int_a > 3 else "same" if int_a ==3 else "under")

# for/if문 혼합
list2 = []
for i in list:
    if i >= 2:
        list2.append(i)
print(list2)

list2 = [i for i in list if i >= 2]
print(list2)
  • 한줄 for : [들어갈 변수명 for문1 for문2]
    한줄 if : (결과1 if 조건1 else 결과2 if 조건2 else 결과3)
    한줄 for + if : [들어갈 변수명 for문1 if 조건1]
    ㄴ 한 줄 쓰기가 너무 복잡해지면 오히려 이해하기가 어려워짐
    ㄴ 보통 for문이 포함되면 리스트에 사용되고, if문은 print / 리스트 둘다 사용되는듯.

'python' 카테고리의 다른 글

표준입출력.py  (0) 2023.03.14
함수.py  (0) 2023.03.11
자료구조.py  (0) 2023.03.11
문자열.py  (0) 2023.03.08
연산자.py  (0) 2023.03.07