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()