파이썬(반복문, 구구단 출력,구구단 옆으로 출력)
반복문을 사용하여
동일한 작업을 오류 없이 반복이 가능합니다.
for 문
정해진 횟수만큼 반복
for 변수 in 시퀀스:
반복 문장
반복 문장
while문
어떤 조건이 참인 동안, 반복을 계속함
while 조건:
반복 문장
반복 문장
for문과 while의 전체적인 구조입니다.
매우 간단하죠?
이제 for문과 while문을 이용하여
"Python"을 10번 출력을 해봅시다.
print("for문을 이용한 Python 10번 출력")
for x in range(10):
print("Python %d번째 출력"%(x+1))
print("while문을 이용한 Python 10번 출력")
count = 0
while(count < 10):
print(count+1,"Python")
count = count + 1
위 for문에서 range()함수가 있습니다.
range() 함수 : 연속적 정수 (0~9)를 생성하는 제네레이터 객체를 생성합니다.
range(20)이면 정수 0 ~ 19가 생성되겠죠?
range함수대신 배열로도 가능합니다.
print("for문을 이용한 Python 10번 출력")
for x in [1,2,3,4,5,6,7,8,9,10]:
print("Python %d번째 출력"%x)
문자열 또한 시퀀스의 일부분 입니다.
for word in "abcde":
print(word)
for문을 이용하여 10~1 까지 카운트 다운을 해보겠습니다.
number = int(input("숫자 입력: "))
for i in range( number, 0, -1 ):
print(i)
print("발사!")
range() 함수는 특정 구간의 정수도 생성이 가능합니다.
range( startNumber , endNumber )
range( startNumber , endNumber , step)
첫 번째 range(2,10)이 예라고 하면 2부터 9까지 1씩 증가하면서 반복을 수행합니다.
두 번째는 위에 카운트 다운이 그 예입니다.
이제 반복문을 사용하여 간단한 실습을 해보겠습니다.
예제1 : 팩토리얼 계산하기
n! = 1부터 n까지의 정수를 모두 곱한 것
for문 사용
fact = 1
n = int(input("정수 입력: "))
for i in range(1, n+1):
fact = fact * i;
print(n, "! = ", fact)
while문 사용
i = 1
factorial = 1
n = int(input("정수 입력: "))
while ( i <= n ):
factorial = factorial * i
i = i + 1
print (n, "! =", factorial)
예제2 : 1 ~10 까지의 합 구하기
for문 사용
sum = 0
for x in range(10):
sum = sum + (x+1)
print(sum)
while문 사용
i = 1 sum = 0
while ( i <= 10 ):
sum = sum + i
i = i + 1
print("합계 =", sum)
예제3 : 구구단 출력
구구단 한줄로 출력
for x in range(2,10):
for y in range(1,10):
print(x,"*",y,"=",x*y)
print()
구구단 옆으로 출력
for x in range(2,10):
for y in range(1,10):
print(y,"*",x,"=",x*y , end="\t")
print()