U E D R , A S I H C RSS

2학기파이선스터디/if문, for문, while문, 수치형

1. if 문


~cpp 
if 조건식1:
	<문들1>
elif 조건식2:
	<문들2>
else:
	<문들3>

조건식1이 참이면 <문들1>이 수행되고, 그렇지 않으면 조건식2를 검사해서 참이면 <문들2>가 수행된다. 그렇지 않으면 <문들3>이 수행되는데 여기서 조건식이나 else다음에는 콜론(:)을 입력해야 하고, else if 가 아닌 elif라는 사실을 알아야 한다. 또 if 문에서의 열이 잘 맞아야 한다.
다음은 한 예이다.

~cpp 
>>> order = 'spagetti'
>>> if order == 'spam':
	price = 500
elif order == 'ham':
	price = 700
elif order == 'egg':
	price = 300
elif order == 'spagetti':
	price = 900

때로는 사전을 이용하는 것이 더 좋을 때도 있는데, C언어의 switch, case문과 같은 맥락에서 이해하면 된다. 다음은 위와 동일한 결과를 가져온다.

~cpp 
>>> order = 'spagetti'
>>> menu = { 'spam':500, 'ham':700, 'egg':300, 'spagetti':900}
>>> price = menu[order]

2. for 문


~cpp 
for <타겟> in <객체>:
	<문1>
else:
	<문2>

<객체>는 순서를 갖는 자료여야 한다. 반복횟수는 <객체>의 크기가 되는데, for문 안에서 continue를 만나면 for가 있는 행으로 이동하고 break를 만나면 <문2>를 수행하지 않고 for문을 빠져나간다. else이후의 <문2>은 for문을 정상적으로 다 끝냈을 때 수행한다. 다음은 1부터 10까지의 합을 구하는 예이다.

~cpp 
>>> sum = 0
>>> for x in range(1, 11):
	sum = sum + x

>>> print sum
55

for 문에서 요소의 값 뿐 아니라 인덱스 값도 함께 사용하려면 enumerate() 내장함수를 이용한다(파이썬 2.3 이상). enumerate() 내장함수는 (인덱스, 요소값) 튜플 자료를 반복적으로 넘겨준다.

~cpp 
>>> L = [ 'cat', 'dog', 'bird', 'pig', 'spam']
>>> for k, animal in enumerate(L):
...	print k, animal
...
0 cat
1 dog
2 bird
3 pig
4 spam

3. while 문


~cpp 
while <조건식>: 
	<문1>
else:
	<문2>
헤더 부분의 조건식이 참인 동안 내부의 블록이 반복 수행되는 while문은 조건이 거짓이 되어 빠져나올 경우에 else부분이 수행되지만, break로 빠져나올 때에는 else 블록을 수행하지 않는다. while문 안에서 continue를 만나면 헤더 부분으로 이동하고 break를 만나면 while문을 완전히 빠져나온다.
다음은 1부터 10을 세는 프로그램이다.

~cpp 
>>> count = 1
>>> while count < 11:
	print count
	count = count + 1

4. 수치자료형


정수형 상수는 10진, 8진, 16진 상수가 있는데 표현범위는 -2,147,483,648 ~ 2,147,483,647이다.
0으로 시작하면 8진수이고, 0x나 0X로 시작하면 16진수이다.

실수형 상수는 소수점을 포함하거나 e, E로 지수를 포함하는 상수이며, C언어의 double형과 동일해서 8바이트로 표현된다. 수치 표현 범위는 유효자리 17이며, 지수는 10의 -308~308 범위에서 표현된다.

정수형으로 표현할 수 없는 큰 수는 자동으로 롱형 정수로 표현한다. 롱(long)형 상수는 정수의 마지막에 L, l을 붙여서 표현한다. 유효 자리는 메모리가 허용하는 한 무한대이다.

복소수형 상수는 실수부+허수부로 표현되는데 허수부에는 J, j를 숫자뒤에 붙여야 한다. 실수부와 허수부는 각각 실수형 상수로 표현된다.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:13
Processing time 0.0125 sec