yumyum
[Python] 반복문 while 본문
# while이란 for문처럼 어떤 실행문을 반복할 때 사용
# for의 경우에는 range() 횟수로 반복문 제어
# while문은 조건식을 만들어 조건이 성립될 때까지 반복문을 실행
"""형식
변수 = 0 (시작값)
while 변수 < 끝값 (반복문이 끝날 조건) :
들여쓰기 실행문, 이곳을 반복 (print, 연산,,,,)
변수 += 1 // 변수 = 변수 + 1
"""
i = 1
while i < 11 :
print("while문 반복 : %d" % i)
i = i + 1
#이 식을 넣어야 무한 루프 하지 않음
# 변수 증가 시키는 식은 꼭!!!! 마지막에 쓰기!!!!
# =>
# while문 반복 : 1
# while문 반복 : 2
# while문 반복 : 3
# while문 반복 : 4
# while문 반복 : 5
# while문 반복 : 6
# while문 반복 : 7
# while문 반복 : 8
# while문 반복 : 9
# while문 반복 : 10
i = 1
while i < 11 :
i = i + 1
print("while문 반복 : %d" % i)
#이 식을 넣어야 무한 루프 하지 않음
# 변수식 순서 바뀔때
# =>
# while문 반복 : 2
# while문 반복 : 3
# while문 반복 : 4
# while문 반복 : 5
# while문 반복 : 6
# while문 반복 : 7
# while문 반복 : 8
# while문 반복 : 9
# while문 반복 : 10
# while문 반복 : 11
## 1~10까지의 합
sum, i = 0, 1
while i < 11 :
sum = sum + i
i = i + 1
print("1부터 10까지의 합 : %d" % sum)
# Quiz) 1~100 까지 짝수만 더한 값 구하기
sum, i = 0, 2
while i < 101 :
sum = sum + i
i = i + 2
print("1부터 100까지 짝수의 합 : %d " % sum)
# Quiz) 시작값, 끝값 입력받아 합 구하기
sum= 0
a = int(input("시작값을 입력해주세요"))
b = int(input("끝값을 입력해주세요"))
while a < (b+1) :
sum = sum + a
a = a + 1
print("합 : %d " % sum)
#### 무한 반복 // 무한 루프
while True :
print("ㅋ", end="")
# while문을 이용한 무한반복
# 사용자가 종료할때까지 프로그램이 종료되지 않게
# ctrl + c : 인터럽트 (종료)
# 더하기 계산기
sum = 0
a, b = 0,0
while True :
a = int(input("첫번째 숫자를 입력하세요 : "))
b = int(input("두번째 숫자를 입력하세요 : "))
print("더한값은 : %d" % (a+b))
# => 무한반복으로 계산기가 나옴
## Quiz) 사칙연산계산기 -> if 연산자 입력받은거 => 종료 안되게
num1, op, num2 = 0, "", 0
while True :
num1 =int(input("첫번째 숫자를 입력하세요"))
op = input("연산자를 입력하세요(+,-,*,/) : ")
num2 =int(input("두번째 숫자를 입력하세요"))
if op == "+" :
print("%d + %d = %d 입니다" % (num1, num2, num1 + num2))
elif op == "-" :
print("%d - %d = %d 입니다" % (num1, num2, num1 - num2))
elif op == "*" :
print("%d * %d = %d 입니다" % (num1, num2, num1 * num2))
elif op == "/" :
print("%d / %d = %d 입니다" % (num1, num2, num1 / num2))
else :
print("연산자가 틀렸습니다")
#### 반복문 제어 (break)
# 반복문 탈출할 때 사용
# ctrl + c => 코드 안에 녹여낸다
# 종료하고싶은 곳에 break 쓰기만 하면 된다
# for, while 둘 다 사용 가능
i = 0
for i in range (1,11,1) :
print("for문을 이용한 %d" % i)
break
# => for문을 이용한 1
# => 원래는 10번 돌아가야하는데 break때문에 한번만 돌아가고 끝난다
## break동작 조건 만들어주기
sum = 0
a, b = 0,0
while True :
a = int(input("첫번째 숫자를 입력하세요 : "))
if a == 0 :
break
b = int(input("두번째 숫자를 입력하세요 : "))
if b == 0 :
break
print("더한값은 : %d" % (a+b))
print("0 입력해서 프로그램 종료")
# =>첫번째 숫자를 입력하세요 : >? 5
# 두번째 숫자를 입력하세요 : >? 2
# 더한값은 : 7
# 첫번째 숫자를 입력하세요 : >? 5
# 두번째 숫자를 입력하세요 : >? 0
# 0입력해서 프로그램 종료
# Quiz) 1~100까지 합 구하기 만들건데
# 합이 1000 넘어갈 때 i 갑 몇인지 출력, 종료
sum, i = 0, 1
while i < 101 :
sum = sum + i
if sum >= 1000 :
break
i = i + 1
# if식이 i = i + 1 뒤에 들어가면 1000에 +1 한 값이 들어가게 된다
# 그러므로 if식은 i = i + 1 이전에 넣도록 한다
print("합이 1000일때 i 값 : %d, 종료합니다" % i)
### continue
# 블록에 남은 부분을 건너뛰고 반복문의 처음으로 돌아감
# 3의 배수를 제외한 1~100까지의 합 구하기
sum, i = 0, 0
for i in range (1,100) :
if i % 3 == 0 :
continue
sum = sum + i
print(i)
print("1~100의 합계(3의 배수제외 : %d" % sum)
# Quiz) 3,6,9 게임
# 1,2,짝,4,5,짝,7,8,짝,10,11,12,짝,,, // 짝, 짝, 짝, 짝짝(33)
# 1~50까지
for i in range(1, 51):
str_i = str(i)
count_369 = 0
for x in str_i:
if (x == '3') or (x == '6') or (x == '9'):
count_369 += 1
if count_369 == 0:
print(str_i+':', i)
else:
print(str_i+':', count_369 * '짝')
'ICT기반 클라우드 네트워크 해킹 침해대응전문가 > Python' 카테고리의 다른 글
[Python] 문자열 (0) | 2023.10.27 |
---|---|
[Python] 리스트, 튜플, 딕셔너리 (0) | 2023.10.25 |
[Python] 반복문 for (0) | 2023.10.24 |
[Python] 조건문 (0) | 2023.10.24 |
[Python] 연산자 (0) | 2023.10.23 |