Notice
Recent Posts
Recent Comments
Link
스토리지
[07.14] 파이썬 2일차 - 반복문 본문
1. for문
for 반복변수 in 범위:
동작
예제 1
for x in range(10):
print(x)
0,1,2,3,...,8,9 가 결과로 나온다. 여기서 알 수 있는 점이 몇 개 있다.
- range(x) 함수는 0≤Number<x 의 범위를 나타낸다. 즉 range(10)이면 0부터 9까지이다.
- print()함수는 자동개행이다.
- 자동개행을 피하기 위해서 print(x, end = ' ')라고 적으면 된다.
예제 2: 1~10까지의 합 구하기
sum = 0
for x in range(1, 11):
sum += x
print(sum)
range함수에 인자가 두 개 들어갈 때, 시작위치를 정할 수 있다.
여기서 range(1,11)은 1부터 10까지를 의미한다.
for x in range(1, 11, 2):
print(x, end=' ')
다음의 for문은 c계열 언어로 바꾸었을때 다음과 같이 표현된다.
for(int i = 1; i < 11; i += 2)
{
std::cout << i << " ";
}
range함수의 3번째 인자는 증감을 결정한다.
예제 3: 1~100까지의 정수 중에서 3의 배수의 합을 구하기
sum = 0
for x in range(1,101):
if x % 3 == 0:
sum += x
print('1부터 100까지의 3의 배수의 합 : %d' % sum)
예제 4: -20도에서 30도(5도씩 증가)의 섭씨 온도를 화씨 온도로 환산하는 표 만들기
화씨 온도 = 섭씨 온도 * 9/5 + 32 |
for x in range(-20, 31, 5):
f = x * 9 / 5 + 32
print('%4d %.2f' %(x,f))
%가 여러개 있을 때, %뒤에 괄호로 묶어서 처리.
이중 for문
예제 5: 2단부터 9단까지 구구단 출력
for i in range(2, 10):
for j in range(1, 10):
print('%d x %d = %d' % (i, j, i*j))
while문
while 조건문:
수행문
예제 6: 200~600의 수 중 3의 배수가 아닌 수를 출력하되, 한 줄에 8개씩 출력.
count = 0
for i in range(200, 601):
if i % 3 != 0:
print('%d' %i, end=' ')
count += 1
if count % 8 == 0:
print()
* 파이썬에는 증감연산자가 존재하지 않는다 (++나 --). 그래서 count++ 가 에러가 나서 한참을 찾았다...
예제 7: 문장 역순으로 출력
1. while문 사용
sentense = input('문장을 입력하세요: ')
i = len(sentense) - 1
while i >= 0:
if sentense[i] == ' ':
print('-', end='')
else:
print('%s' %sentense[i], end='')
i -= 1
2. for문 사용
sentense = input('문장을 입력하세요: ')
for i in range(len(sentense)-1, -1, -1):
if sentense[i] == ' ':
print('-', end='')
else:
print('%s'%sentense[i], end='')
여느 언어처럼 break 를 사용할 수 있다.
'Python' 카테고리의 다른 글
[07.15] 파이썬 3일차 - 리스트 2 (0) | 2021.07.15 |
---|---|
[07.15] 파이썬 3일차 - 리스트 1 (0) | 2021.07.15 |
[07.14] 파이썬 2일차 - 조건문 (0) | 2021.07.14 |
[07.13] 파이썬 1일차 - 문자열 처리 (0) | 2021.07.13 |
[07.13] 파이썬 1일차 - 자료형, 연산자 (0) | 2021.07.13 |
Comments