본문 바로가기
수업(국비지원)/Python

[Python] 조건문, 반복문

by byeolsub 2023. 4. 24.
  • 조건문 : if 문

📌

### 조건문 : if문
# 들여쓰기 해야한다.
score = 65
if score >= 90 : 
    print("A학점")
		print("함격입니다.")
else : 
    if score >= 80 : 
        print("B학점")
        print("함격입니다.")
    else :
        if score >= 70 :
           print("C학점")
           print("함격입니다.")
        else :
            if score >= 60 :
               print("D학점")
               print("불함격입니다.")
            else : 
                print("F학점")    # 결과 -> D학점
                print("불함격입니다.")

# if elif 구문 (자바의 else if와 동일한 기능) 
if score >= 90 :
    print("A학점")
    print("함격입니다.")      
elif score >= 80 :
    print("B학점")
    print("함격입니다.")
elif score >= 70 :
    print("C학점")
    print("함격입니다.")
elif score >= 60 : 
    print("D학점")
    print("불함격입니다.")
else :
    print("F학점")    # 결과 -> D학점
    print("불함격입니다.")

# 주의 ! 들여쓰기 줄을 지키지 않았는데 에러가 안날 수 있다. 
score = 50
if(score >= 60) : 
   print("합격입니다.") 
print("자격증을 받으러 오세요") # -> 자격증을 받으러 오세요. 라는 문구는 출력됨.    
        
score = 50
if(score >= 60) : 
   print("합격입니다.") 
   print("자격증을 받으러 오세요") # 결과 -> 아무것도 나오지 않음. 정상

# 점수가 60이상이면 PASS 60미만이면 FAIL을 출력하기
score = 55
if score >= 60 : 
   print("PASS")
else :
    print("FAIL")
    
# --(if elif 구문)--
if score >= 60 : 
   print("PASS")
elif score < 60 :
    print("FAIL")    
    
# 간단한 조건식
# TURE if 조건식 else FALSE 
score = 55
print(score,"점수는",'PASS' if score >= 60 else 'FAIL')    

score = 65
print(score,"점수는",'PASS' if score >= 60 else 'FAIL')


 

  • 반복문

 📌

# 반복문
# 1부터 100까지의 합 구하기
num = 100
hap = 0
# range(1,num+1) : 1~num까지의 숫자들
# i : 1~num까지의 1씩 증가된 숫자들
for i in range(1,num+1) : 
    hap += i     # 반복문 안
print("1부터 %d까지의 합 : %d" % (num,hap))    # 반복문 밖

#문제 : 1~100까지의 짝수의 합 구하기
#1번 방식
num = 100
hap = 0
for i in range(1,num+1) :
    if(i % 2 == 0) :
        hap += i
print("1부터 %d까지의 짝수의 합 : %d" % (num,hap))

#2번 방식
num = 100
hap = 0
for i in range(2,num+1,2) : 
    hap += i     # 반복문 안
print("1부터 %d까지의 합 : %d" % (num,hap))    # 반복문 밖 

#문제 : 12345 반복문을 이용하여 출력하기
# print(1234)로 찍는건 안된다.
for i in range(1,6):
    print(i,end="")

#while 조건문 : 조건문의 결과가 참인 동안 반복함
num = 1
while num <= 5 :
    print(num,end="")
    num += 1

# break : 반복문 종료
#continue : 반복문의 처음으로 제어 이동
hap = 0
for i in range(1,11) : # i = 1~10까지 
    if i == 5 : 
        break
    hap += i
print('hap=',hap)     # 결과 -> hap= 10

hap = 0
for i in range(1,11) :
    if i == 5 : 
        continue
    hap += i
print('hap=',hap)    # 결과 -> hap= 50

</aside>

<aside> ❓ 반복문 예제

# 1~45사이의 임의의 숫자 6개 출력하기
# 난수 생성하기 
import random # 모듈 
rnum = random.randrange(1,46)  # 1~45까지의 임의의 수
print(rnum)

for i in range(1,7) : 
    print(random.randrange(1,46),end=",")
    
'''
문제 : 
  컴퓨터가 1부터 99사이의 임의의 수를 저장하고, 숫자를 입력받아서 컴퓨터가 저장한 수를 맞추기.
  컴퓨터는 입력한 숫자가 정답과 비교하여 큰수,작은수 인지 출력.
  정답 입력시 입력한 횟수를 출력하기.
  1. 난수 생성.
  2. 정답을 맞추는 동안 계속 입력 받기. => while True : 
      정답이 입력되는 break
'''
import random # 모듈 
rnum = random.randrange(1,100)  # 1~99까지의 임의의 수
cnt = 0
while True : 
    a = int(input("숫자를 입력하세요 :"))
    cnt += 1
    if a > rnum :
       print(a,"보다 작은수 입니다.")
    elif  a < rnum :
       print(a,"보다 큰수 입니다.")
    else :
        print("정답입니다.")
        print("%d번 만에 정답을 맞췄습니다." % (cnt))      
        break