카테고리 없음

[Python Practice] While/If Statement - Extract all numbers less than 100 that are multiples of 8 but not multiples of 12

jiachoi 2023. 7. 3. 16:32

<Question>

# while문과 if문을 활용하여 100이하의 자연수 중 8의 배수이지만, 12의 배수는 아닌 것을 모두 출력하세요. 실행하면 아래의 내용이 콘솔에 출력되어야 합니다.

8

16

32

40

56

64

80

88

 

<Answer>

i = 1
while i<=100 :
    if i % 8 == 0 and i % 12 != 0 :
        print(i)
    i = i + 1

<Explanation>

콘솔에 출력되어야 할 내용이 작은수인 8부터 시작이므로 기본으로 지정해줘야 하는 변수는

i = 1부터 시작하도록 지정하였다.

반복해서 값이 출력되어야 하기 때문에 while의 조건문을 주어야 한다.

처음에 1~100까지를 출력하는 반복문을 만들어보면

i = 1
while i<=100:
    print(i)
    i = i+1

이런 형태로 만들어지게 된다.

여기에 8의 배수인데 12의 배수가 아닌 수만 출력하게 하는 조건을 주면 된다. (if문을 사용하여)

i = 1 
while i<=100:
    if i%8==0 and i%12 !=0:
        print(i)
    i = i+1

if 문에 있는 (i%8==0) 과 (i%12 !=0) 두 조건을 만족하게 하려면 and연산자로 묶어서 조건식을 주면 된다.

위 문제 결과 창