Python / / 2022. 8. 29. 16:14

Python 기초 - While문, 분기문

While문

 

-데이터의 개수와 관계없이 조건에 부합하면 계속반복하고

부합하지 않으면 멈추는 프로그램을 만드려면?

 

While 조건문: 

 -  실행문 

 

Q1. 변수 number의 초기값이 1이고 반복될 때마다 1씩 증가되게 실행문을 작성한후 6이상이 되면 
자동으로 멈추는 프로그램 작성

 

number = 1 
while number<6: #number가 6보다 작을 경우,
    print(number) #number 출력
    number +=1 # number = number + 1:
    
    
출력: 

1
2
3
4
5

Q2. 1부터 100까지의 합을 while문을 이용해서 출력하시오.

total = 0 #합의 초기값 세팅
number = 0 #넘버 초기값 세팅
while number < 100:  #넘버가 100미만
    number +=1 # 변수 number = 1+number #넘버 + 1 이므로 99번째때 100까지 
    total = number+total #total =  number+total 
print(total)
        
        
출력: 

5050

Q3. input, while 문을 이용해서 구구단 출력하기 

 

a = int(input("몇단을 출력할까요?")) #input 이용하면 a='str'타입이기 때문에 정수로 변환
n = 0 #n 초기값 설정 
while n<9: #n이 8까지 단, 밑에 n+=1이 있으므로 8까지 있더라도 9까지
    n+=1 #n = n + 1
    print(a,'x',n,'=',a*n) #출력
    
#출력: 100단 출력

몇단을 출력할까요?100
100 x 1 = 100
100 x 2 = 200
100 x 3 = 300
100 x 4 = 400
100 x 5 = 500
100 x 6 = 600
100 x 7 = 700
100 x 8 = 800
100 x 9 = 900

Q4. 해당 범위의 배수 합을 구하기

 

first_ =int(input('첫 수를 입력하세요:')) #first_ 변수
final_ =int(input('끝 수를 입력하세요:')) #final_변수
a = int(input('합계를 구하고자 하는 배수를 입력하세요')) #배수 입력

total = 0 #합계
n = first_ #n = first_ #first_ 를 n 변수로
while n <= final_: #first<= final_일때 
    if n % a == 0: # n % a(배수) 나눴을때 나머지가 0이 되는 경우
        total += n #total에 n + total을 해준다
    n +=1 # n = 1+n을 해서 끝 전에 멈추게끔 한다.
print(f'{first_}~{final_}까지의 정수중 {a}의 배수 합계:{total}')

Q5. While문을 이용해서 섭씨/ 화씨 변환 하기 

 

[공식]: 섭씨*1.8 +32 = 화씨

print('-'*50) #줄
sub1 = -20 #섭씨 = -20으로 설정


while sub1<=40: #섭씨가 40이하 될때까지 while 
    hwa2 = (sub1*1.8) +32 # 화씨는 sub*1.8 + 32 이다.
    print('섭씨:%d 화씨:%.1f' %(sub1,hwa2)) #출력
    sub1 += 1 #-20 부터 while 한번 돌때마다 -20부터 +1이 된다.

Q6. While문 사용해서 3의 배수가 아닌 수 출력하기  ! 

200~599 출력

start1 = 200 #시작 값 설정
count = 0 #줄바꿈 초기값 설정
while start1<600: #600이하가 될때까지
    if start1 % 3!=0: #시작값 %3 == 나머지0이 아닌 경우,
        print(start1, end= ' ') #출력
        count+=1 #8번 마다 줄바꿈하기 
    if count%8 ==0:
    	print()
    start1 += 1 # 초기값 + 1 반복

Q6. While문 사용 영어 모음만 출력하고 모음의 개수 구하기 !

a =input('영어문장을 입력하세요') #영어 문장을 입력
i = 0 #초기 설정값
count = 0 #모음의 개수 초기 설정
while i < len(a): # i(0) < len(a) <--인덱스 길이
    if a[i].upper() in ['A','E','I','O','U']: # if a[i].upper(소문자> 대문자로 바꾸기) in [리스트 모음]
        print(a[i],end=' ') #print=(a[i]) , end = ' '줄바꿈X 
        count+=1 #모음 개수 +1씩
    i +=1 # i +1 씩 늘려주기 
print()
print('모음의 개수:',count)#출력



출력:
영어문장을 입력하세요We are the Champion
e a e e a i o 
모음의 개수: 7

Q7. While문 사용 영어 모음만 출력하고 모음의 개수 구하기 !

 

a =input('영어문장을 입력하세요') #영어 문장을 입력
i = 0 #초기 설정값
count = 0 #모음의 개수 초기 설정
while i < len(a): # i(0) < len(a) <--인덱스 길이
    if a[i].upper() in ['A','E','I','O','U']: # if a[i].upper(소문자> 대문자로 바꾸기) in [리스트 모음]에 있다면
        print(a[i],end=' ') #print=(a[i]) , end = ' '줄바꿈X 
        count+=1 #모음 개수 +1씩
    i+=1
print()
print('모음의 개수:',count)#출력

Q8. While사용 입력문장을 역순으로 출력하기

a = input('문장을 입력해주세요') #쥐 구멍에 볕 들 날 있다.
i = len(a)-1 #a의 인덱스 길이 - 1 #마지막에(.)이 있기때문에

while i >= 0: #i >=0 일 경우
    if a[i] == ' ': #문장의 인덱스 i == ' ' 공백 일경우
        print('-',end='') # -를 출력한다. 
    else: #그게 아니라면
        print(a[i], end='') # 그대로 출력한다.
    i-=1 
    i-=1

분기문 : 반복문 내에서의 흐름을 변경하고 싶을 때 사용 하는 문장


- break 
반복문을 나가고 싶을때


- continue 
조건문 아래의 문장을 실행안하고 다시 조건문으로 돌아갈때

 

score = [100,7,75,32]
num = 0

for i in score:
    num+=1
    if i < 70:
        continue # pass처럼 이용
    else:
        print('%d번 합격'%num)
        
출력: 
1번 합격
3번 합격

Q9. While문과 break를 이용하기 

출력결과: 아래처럼 나오게끔

지불했으니 사탕을 줍니다.
남은 사탕의 개수는 3개 입니다
지불했으니 사탕을 줍니다.
남은 사탕의 개수는 2개 입니다
지불했으니 사탕을 줍니다.
남은 사탕의 개수는 1개 입니다
지불했으니 사탕을 줍니다.
남은 사탕의 개수는 0개 입니다
사탕이 다 떨어졌습니다. 판매를 중지합니다

 

#While ~ break

candy = 4 #캔디의 초기값 설정
money = 300 #머니의 초기값 설정
while money: # boolean으로 봤을때 True 이기 때문에(데이터만 있으면 True반환), While True가 되어서 무한루프 된다.
    candy-=1 #캔디는 한번 줄때마다 1개씩 감소한다.
    print('지불했으니 사탕을 줍니다.')
    print('남은 사탕의 개수는 %d개 입니다'%candy) #캔디의 개수
    if candy ==0: #만약 캔디가 0 이라면,
        print('사탕이 다 떨어졌습니다. 판매를 중지합니다') #프린트
        break #break를 이용하여 루프문을 멈춰준다.

#for ~ break 문 이용 

 

#for ~ break
a = input('중단할 문자를 입력하세요') #

for i in 'python': #i변수에 'python'저장
    if i == a: # 만약 i == input문안에 있다면
        break # 멈춰라
    else: #그게 아니라면
        print(i, end='') #가로로 i 출력 해라.
else:
    print('출력')

Break 문
커피 자판기를 만든다 .

커피 재고는 현재 3 

커피 가격은 300원일때 

300원을 초과하는 돈을 넣으면 커피와 거스름돈, 300원만 넣으면 커피, 300원 미만을 넣으면 반납하고 

커피 잔고가 떨어지면 판매를 중지하는 프로그램을 작성하세요

 

coffee_value = 3  #커피 재고 

while True: #무한루프 
	a =int(input('커피 넣는 돈을 입력하시오'))# input문 이용하기
    if a == 300: # a=300 일 경우,
        coffee_value -=1 #커피 재고가 하나 사라진다
        print('커피 나옴') #프린트
    elif a>300: # a> 300일 경우, 
        coffee_value -=1 #재고 하나 사라지고
        print('커피, 거스름돈:',a-300) # 거스름돈 출력
    else: 
        print(a,'반납한다.') # 300미만으로 돈 넣었을때
        break #멈추기
    if coffee_value == 0: #커피 재고가 0이 될때
        print('판매 중지 입니다.') # 출력
        break #멈춤

 

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유