Language/Python
반복문
westcold
2024. 10. 24. 13:28
Code06-01(1).py
print("안녕하세요? for문을 공부 중입니다. ^^")
print("안녕하세요? for문을 공부 중입니다. ^^")
print("안녕하세요? for문을 공부 중입니다. ^^")
Code06-01(2).py
#for -> 횟수가 정해져 있을 때 사용
#while->조건에 따라 실행 할 때 사용
for i in range(2, -1, -1) :
print("%d 안녕하세요? for문을 공부 중입니다. ^^" %i)
for i in range(1, 6, 1) :
print("%d " %i, end=" ")
*for 변수 in range(시작값, 끝값+1, 증가값):
반복
for i in[0,1,2]: = for i in range(0, 3, 1) :
for i in range(2, -1, -2) :
Code06-02(1).py
# i=0
# for i in range(1, 11, 1) :
# hap = hap + i
# print("1에서 10까지의 합계 : %d" %hap)
i, hap=0, 0
for i in range(1, 11, 1) :
hap = hap + i
print("1에서 10까지의 합계 : %d" %hap)
#hap을 변수 선언하지 않아서 오류가 나왔다
#그러나 파이썬은 변수 선언 없이 되지 않나?->그러나 hap이 누적이 되려면 hap이라는 존재가 있어야 하는데 없으므로 오류가 나온것
Code06-02(2).py
i, hap=0, 0
for i in range(1, 11, 1) :
hap = hap + i
print("1에서 10까지의 합계 : %d" %hap)
Code06-03.py
i, hap = 0,0
for i in range(501, 1001, 2) :
hap = hap + i
print("500과 1000 사이에 있는 홀수의 합계 : %d" %hap)
Code06-04.py
i, hap =0,0
a=0
a=int(input("숫자를 입력하시오 : "))
for i in range(1, a+1, 1):
hap=hap + i
print("1과 %d 사이에 있는 합계 : %d" %(a, hap))
Code06-05.py
i, hap = 0,0
num1, num2, num3 = 0,0,0
num1 = int(input("시작값을 입력하세요 : "))
num2 = int(input("끝값을 입력하세요 : "))
num3 = int(input("증가값을 입력하세요 : "))
for i in range(num1, num2+1, num3):
hap = hap + i
print("%d에서 %d까지 %d씩 증가시킨 값의 합계 : %d" % (num1, num2, num3, hap))
Code06-06.py
i, dan =0,0
dan = int(input("단을 입력하세요 : "))
for i in range(1, 10, 1) :
print("%d X %d = %2d" %(dan,i, dan*i))
Code06-07.py
i, j =0, 0
for i in range(2, 10, 1) :
for j in range(1, 10, 1) :
print("%d X %d = %2d" %(i,j, i*j))
print("")
Code06-08.py
# a=1
# while a<4:
# print("%d : 안녕하세요? while문을 공부 중입니다. ^^" %a)
# a = a+ 1
##전역 변수 선언 부분
i, k, guguLine = 0,0, ""
#메인 코드 부분
for i in range(2, 10) :
guguLine = guguLine + ("# %d단 #" %i)
# #2단# #3단#...이렇게 한줄로 문자열을 완성시켜 바로 밑에 프린트 한다
print(guguLine)
for i in range(1, 10) :
guguLine = ""
for k in range(2, 10) :
guguLine = guguLine + str("%2dX %2d= %2d" %(k, i, k*i))
print(guguLine)
#구구단 또한 각 k단에 i을 곱한 걸 문자열로 모아서 한줄 프린트하고 i+1로 더해줘 똑같이 또 한 줄씩 프린트 해준다
Code06-09.py
i, hap = 0,0
i =1
while i < 11:
hap = hap + 1
i= i+1
print("1에서 10까지의 합계 : %d" %hap)
# i, hap=0, 0
# for i in range(1, 11, 1) :
# hap = hap + i
# print("1에서 10까지의 합계 : %d" %hap)
Code06-10.py
hap=0
a, b, =0, 0
while True :
a = int(input("더할 첫 번째 수를 입력하세요 : "))
b = int(input("더할 두 번째 수를 입력하세요 : "))
hap = a+b
print("%d + %d = %d" %(a, b, hap))
#컨트롤c를 눌러주면 깜빡이는곳에서 나가진다
*while
변수=시작값
while 변수<끝값 :
반복
변수 = 변수 + 증가값
while문이 무한정 출력될때 중지하려면 컨트롤+c를 눌러주면 된다.
Code06-11.py
ch = ""
a,b = 0,0
while True:
a = int(input("계산할 첫 번째 수를 입력하세요 : "))
b = int(input("계산할 두 번째 수를 입력하세요 : "))
ch = input("계산할 연산자를 입력하세요 : ")
if(ch == "+") :
print("%d + %d = %d" % (a,b,a+b))
elif(ch == "-") :
print("%d - %d = %d" % (a,b,a-b))
elif(ch == "*") :
print("%d * %d = %d" % (a,b,a*b))
elif(ch == "/") :
print("%d / %d = %5.2f" %(a, b, a/b))
elif(ch == "%") :
print("%d %% %d = %5.2f" %(a, b, a%b))
elif(ch == "//") :
print("%d // %d = %5.2f" %(a, b, a//b))
elif(ch == "**") :
print("%d ** %d = %5.2f" %(a, b, a**b))
else :
print("연산자를 잘못 입력했습니다.")
Code06-12.py
hap = 0
a, b, =0,0
while True :
a = int(input("더할 첫 번째 수를 입력하세요 : "))
if a ==0 :
break
b = int(input("더할 두 번째 수를 입력하세요 : "))
hap = a+b
print("%d + %d = %d" % (a,b,hap))
print("0을 입력해 반복문을 탈출했습니다.")
#a=0이면 브레이크고 반복문을 탈출하여 11행으로 나오게 된다.
*break
컨트롤 c로 반복문을 탈출도 가능하지만 브레이크도 있다.
브레이크를 만나면 반복문을 나가 버린다
Code06-13.py
hap, i = 0, 0
for i in range(1, 101) :
hap += i
if hap >= 1000:
break
print("1~100의 합계를 최초로 1000이 넘게 하는 숫자 : %d" %i)
Code06-14.py
hap, i = 0, 0
for i in range(1, 101) :
if i % 3 == 0:
continue
hap +=i
print("1~100의 합계(3의 배수 제외) : %d" %hap)
#컨티뉴로 나머지가 0이면 아래 명령으로 나가는게 아닌(남은 부분을 무조건 건너뛰고) 다시 반복문 처음으로 올라가게 된다.
*continue
continue를 만나면 남은 부분을 무조건 건너뛰고 반복문의 처음으로 돌아간다
Code06-15.py
i, k = 0,0
i=0
while i < 9 :
if i< 5:
k=0
while k < 4 - i:
print(" ", end= " ")
k += 1
k=0
while k < i*2+1 :
print("\u2605", end= " ")
k += 1
else:
k = 0
while k < i-4:
print(" ", end= " ")
k += 1
k=0
while k < (9-i)*2-1:
print("\u2605", end= " ")
k += 1
print()
i += 1
selfstudy6-1.py
i, hap = 0,0
for i in range(0, 101, 7) :
hap = hap + i
print("0과 100 사이에 있는 7의 배수 합계 : %d" %hap)
selfstudy6-2.py
i, dan =0,0
dan = int(input("단을 입력하세요 : "))
for i in range(9, 0, -1) :
print("%d X %d = %2d" %(i, dan,dan*i))
selfstudy6-3.py
i, j =0, 0
for i in range(2, 10, 1) :
print("## %d단 ##" %i)
for j in range(1, 10, 1) :
print("%d X %d = %2d" %(i,j, i*j))
print("")
selfstudy6-4.py
## 전역 변수 선언 부분 ##
i, k, guguLine = 0, 0, ""
# 9단부터 2단까지 제목 출력
for i in range(9, 1, -1):
guguLine = guguLine + ("# %d단 #" % i)
print(guguLine)
# 9단부터 2단까지 구구단 출력
for i in range(9, 0, -1):
guguLine = ""
for k in range(9, 1, -1):
guguLine = guguLine + str("%2d X %2d = %2d " % (k, i, k * i))
print(guguLine)
selfstudy6-5.py
i, hap = 0,0
num1, num2, num3 = 0,0,0
num1 = int(input("시작값을 입력하세요 : "))
num2 = int(input("끝값을 입력하세요 : "))
num3 = int(input("증가값을 입력하세요 : "))
while i <= num2 :
hap = hap + i
i = i + num3
print("%d에서 %d까지 %d씩 증가시킨 값의 합계 : %d" % (num1, num2, num3, hap))
selfstudy6-6.py
hap = 0
a, b = 0, 0
while True:
a = input("더할 첫 번째 수를 입력하세요 (종료: $) : ")
# 종료 조건 확인
if a == "$":
break
a = int(a) # 문자열을 정수로 변환
b = int(input("더할 두 번째 수를 입력하세요 : "))
hap = a + b
print("%d + %d = %d" % (a, b, hap))
print("종료 조건인 '$'를 입력해 반복문을 탈출했습니다.")
selfstudy6-7.py
hap, i = 0, 1
while i <= 100:
hap += i
if hap >= 1000:
break
i += 1
print("1~100의 합계를 최초로 1000이 넘게 하는 숫자 : %d" % i)
selfstudy6-8.py
for i in range(9):
if i < 5:
k = 0
for k in range(4 - i):
print(" ", end=" ")
for k in range(i * 2 + 1):
print("\u2665", end=" ")
else:
k = 0
for k in range(i - 4):
print(" ", end=" ")
for k in range((9 - i) * 2 - 1):
print("\u2665", end=" ")
print()