본문 바로가기
프로그래밍 언어/python

24.02.18 정올 반복제어문

by 피스타0204 2024. 2. 24.

1)for문

for i in range(시작, 끝, 간격): 으로 사용하거나 for i in 리스트: 로 사용할 수 있습니다.

 

2)while문

파이썬에서는 증감연산자를 제공하지 않는다는 사실을 유의해야 합니다. 

num=1
sum =0
while(num<11):
    sum +=num
    num+=1

print("1부터 10까지의 합 = %d"%sum)
print("while문이 끝난 후의 num의 값 = %d"%num)
"""출력
1부터 10까지의 합 = 55
while문이 끝난 후의 num의 값 = 11
"""

 

3)break문

  1. continue : 하위 코딩을 건너뛰고 다음 순번의 loop를 수행한다.
  2. pass : 실행할 코드가 없는 것으로 다음 행동을 수행한다.
  3. break : 반복문을 멈추고 loop 밖으로 나간다.
while True:
    num = int(input('점수를 입력하세요. '))
    if num < 0 or num > 100:
        break
    if num >=80:
        print('축하합니다. 합격입니다.')
    else:
        print('죄송합니다. 불합격입니다.')

 

4) 리스트나 문자열의 길이를 구하는 len()함수

리스트나 문자열의 길이는 반복문을 이용해 구할 수도 있지만 len 함수를 이용해 구하는 것이 가장 간단합니다.

len함수를 사용하지 않고 반복문을 이용해 리스트의 길이를 구하는 예제▼

n= list(map(int,input().split()))
sum=0
num=0
for i in n:
    sum += i
    num +=1
avg = sum/num
print("avg : %.1f"%(avg))
if avg>=80:
    print("pass")
else:
    print("fail")

 

5) 아스키 코드 변환, 문자열 변환

ord("문자")

chr(54)

 

아스키 코드에 의해 문자와 숫자는 호환되어 있습니다. 파이썬에서는 숫자를 이용해 문자열을 출력할 수 있기 때문에 반복문에서 이와 같은 방법이 활용될 수 있습니다.

아스키 코드 변환 예제 ▼

for e in range(65, 70):
    print(chr(e), e)
"""출력
A 65
B 66
C 67
D 68
E 69
"""
a,b = map(ord, input().split())
cnt=0
if a<b:
    for i in range(a,b+1):
        print(chr(i),end=" ")
elif a>b :
    for i in range(a,b-1,-1):
        print(chr(i),end=" ")
'''입력
Z A
'''
"""출력
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
"""

 

6) 문자열 연산과 반복문

문자열을 다루는 반복문은 대부분 문자열 연산으로 더 단순하게 만들 수 있습니다.

n=int(input())
for i in range(1,n+1):
    print(' '*(n-i)+'*'*i)
'''입력
5
'''
"""출력
    ⁕
   ⁕⁕
  ⁕⁕⁕
 ⁕⁕⁕⁕
⁕⁕⁕⁕⁕
"""
n=int(input())
cnt =65
for i in range(n):
    for j in range(i+1):
        print(chr(cnt),end="")
        cnt+=1
    print()
'''입력
5
'''
"""출력
A
BC
DEF
GHIJ
KLMNO
"""