본문 바로가기
Python

파이썬 중첩 if문과 while문

by Hunger 2023. 7. 6.
반응형

1. if 문 응용

1) 중첩 if 문

if 문은 if.else 구문, 더 나아가 if.elif.else 구문을 통해 여러 가능한 선택지를 설정할 수 있습니다. 이때 하나의 선택지로 나뉜 if 문의 조건 분기한 결과 안에서 또 다시 if 문을 사용하는, 즉 조건 분기한 결과 안에 다시 조건 분기문을 넣을 수 있습니다. 이는 제어문 안에 다시 제어문을 사용하는 방식으로 하나의 제어문을 사용할 때보다 더 다양한 방식의 코드 구현이 가능합니다.

 

Code

score = int(input("Type your score : "))
grade = 'F'

if score < 0 or score > 100:
    print("input value error")
else:
    if score >= 90:
        grade = 'A'
    elif yourGrade >= 80:
        grade = 'B'
    elif yourGrade >= 70:
        grade = 'C'
    elif yourGrade >= 60:
        grade = 'D'
    else:
        grade = 'F'

    print("Your score is {} and your grade is {}".format(score, grade))

2) if 문과 in 연산자

in 연산자를 사용해서 리스트와 같은 구조에서 요소를 쉽게 찾을 수 있습니다.

 

Code

travelist = ["Korea", "USA", "Canada", "Japan", "Spain", "France"]
country = input("Where you like to go?")

if country in travelist:
    print("You can choose {}".format(country))
else:
    print("You can not choose {}".format(country))

2. while 반복문

if 문과 while 문의 기본적인 구조는 유사합니다. 하지만 while 문의 경우는 실행이 끝난 후에 다시 조건을 비교하는 특징이 있습니다. 만약 입력 받은 값이 조건의 범위와 비교했을 때 잘못 입력되었을 경우 다시 값을 입력 받기 위한 코드는 if 문 만으로는 구현이 어렵습니다. 이는 if 문은 하나의 값만을 가지고 다음 과정으로 넘어가기 때문입니다.

 

이때 while 문을 사용하면 조건식에 있는 범위의 값이 들어오기 전까지 계속 반복해서 값을 입력 받도록 할 수 있습니다.

 

Code

grade = 'F'
score = int(input("Type your score : "))

while not(score in range(0,101)):
    print("input error")
    score == int(input("Type your score again : "))
    if score >= 90:
        grade = 'A'
    elif yourGrade >= 80:
        grade = 'B'
    elif yourGrade >= 70:
        grade = 'C'
    elif yourGrade >= 60:
        grade = 'D'
    else:
        grade = 'F'

    num = score % 10
    if num > 7:
        grade = str(grade) + "+"
    elif num < 3:
        grade = str(grade) + "-"
    print("Your score is {} and your grade is {}".format(score, grade))
반응형

'Python' 카테고리의 다른 글

파이썬 리스트 자료 구조  (0) 2023.07.15
파이썬 자료 구조의 종류  (0) 2023.07.09
파이썬 if 조건문  (0) 2023.07.03
파이썬 논리, 삼항 연산자와 우선순위  (0) 2023.06.30
파이썬 산술, 비교, 대입 연산자  (0) 2023.06.27

댓글