PYTHON/기본 문법

PYTHON 기본 문법 (while,if-elif-else 문)

seongjin08 2022. 11. 7. 17:46

반복문 while 문 

num = 1
while num <= 5:
    print(num)
    num = num + 1
  # num += 1 과 같이 사용 할 수 있다.
  # num 은 num + 1 과 같다.

python 에서 주석 처리는 # 이다.

프로그램 실행 시 주석 처리 된 부분은 실행 되지 않는다.

 

위 while은 num 이 5 보다 작거나 같을때 까지 실행한다.

여기서 주의 할 점은 while 문 안에 실행문을 작성 할때는 

Tap 버튼 또는 4칸을 띄어서 작성 해 주어야한다.

여기서 띄어쓰기를 들여쓰기 라고 한다. 

들여쓰기는 python 에서 매우 중요하다.

 

들여쓰기에 따라 while 문안에 실행문 인지 while 문이 끝나고 실행하는 명령문인지 나뉜다.

 

연습문제

- 입력받은 숫자 만큼 숫자 반복하기

입력받은 것은 input() 함수를 사용하면 된다.

 

test = int(input())
num = 0
while num < test:
    print('',test)
    num += 1

결과

위 코드 작성 후 실행하면 콘솔에서 숫자를 치면 숫자만큼 반복하게 된다.

int() 는 데이터 형식 이다. int 는 숫자임을 뜻한다.

 

- 입력받은 숫자 까지 제곱표 출력하기

input = int(input())
num = 1
while num <= input:
    print(num,num * num)
    num += 1

결과

 

- 100 을 3/5 씩 계산하여 소수점 아래 4자리 까지 출력

round() 반올림 하는 함수

num = 100
minus = 3/5
i = 1
while i <= 10:
    num *= minus
    print(i,round(num,4))
    i += 1

결과

 

- 코드를 보고 결과 맞히기

number = 358

rem = rev = 0
while number >= 1:
    rem = number % 10
    rev = rev * 10 + rem
    number = number // 10

print(rev)

결과

853

 

 

if - elif -else

if 문은 말 그대로 만약 뭐뭐 하면 실행해라

만약 달면:

     삼킨다

그렇지 않으면:

      뱉는다.

 

if 달면:

      삼킨다.

   else:

    뱉는다.

 

if - else 

a = 3  
b = 5

if a > b:            #만약 a 가 b 보다 크다면
    print('a')       # 'a' 를 출력 한다.
else:                # 그렇지 않아다면
    print('b')       # 'b' 를 출력한다.

 

if - elif -else

if a > b:               # a 가 b 보다 크다면
    print('a 가 더 크다')
elif a == b:            # a 가 b 같다면
    print('a 와 b 는 같다')
elif a < b:              # b 가 a 보다 크다면
    print('b 가 더 크다')
else:                    # 위에 조건문에 속하지 않는다면
    print('모르겠다.')

 

print(f'{a}') 를 사용하면 스트링 문자열에서 변수값을 같이 출력 할 수 있다.

a = 48
b = 4
if a % b == 0:
     print(f'{a}는 {b}로 나누어 떨어집니다.')
elif a % b != 0:
     print(f'{a}는 {b}로 나누어 떨어지지 않습니다.')

48는 4로 나누어 떨어집니다.

 

조건에 따라 반복문 중단하기

max = 10

while True:
    num = int(input())
    if num > max:
        print(num,'is too big!')
        break

결과

 

연습문제

숫자읽기(1~3)

input = int(input())

if input == 1:
    print('일')
elif input == 2:
    print('이')
elif input == 3:
    print('삼')

결과

 

단위 기호 - 입력 받은 숫자가 1000일경우 1K  이렇게 숫자를 생략하고 단위로 표현하기

num = int(input())
result = str(num)

if num >= 1000000000000000000:
    result = str(num // 1000000000000000000) + 'E'
elif num >= 1000000000000000:
    result = str(num // 1000000000000000) + 'P'
elif num >= 1000000000000:
    result = str(num // 1000000000000) + 'T'
elif num >= 1000000000:
    result = str(num // 1000000000) + 'G'
elif num >= 1000000:
    result = str(num // 1000000) + 'M'
elif num >= 1000:
    result = str(num // 1000) + 'k'
elif num >= 0:
    pass

print(result)

결과

 

 

양수만 덧셈하기 - 음수가 나올경우 정지 양수는 다 더해서 출력

sum = 0

while True:
    num = int(input())
    if num < 0:
        break
    else:
        sum += num
print(sum)

결과

 

윤년 판별하기  - 윤년은 4로 나누어떨어지는 해 , 4로 나누어지며 100 으로 나눠지지 않는 해 , 4,100,400 으로 모두 나눠지는 해이다.

윤년을 구해보자

 

 

num = int(input())
result = False

if num % 4 == 0:
    if num % 100 == 0:
        if num % 400 ==0:
            result = True
        else:
            result = False
    else:
        result = True
else:
   result = False

if result:
    print(f'{num} 년도는 윤년입니다.')
else:
    print(f'{num} 년도는 평년 입니다.')

결과