if문

if 조건식1:

<문들1>

elif 조건식2"

<문들2>

else :

<문들3>




score = 90

if score >= 90:

print "Congraulation!!!"




a=10

if a>5

print "Big"

else :

print "Small"



a=10

if a>5: print "Big"

else : print "Small"


n=-2

if n>0:

print "Positive"

elif n<0 :

print "Negative"

else :

print "Zero"


order ="spagetti"

if order =="spam":

print =500;

elif order == "ham":

print =700

elif order =="egg":

price =300

elsf order =="speagetti":

price=900


order="spagetti"

menu={"spam":500,"ham":700, "egg":300,"spagetti":900}

price=menu[order]


위 2개의 결과는 같다.



들여쓰기와 제어문

  • 가장 바깥쪽에 있는 블록의 코드는 반드시 1열부터 시작해야한다.

a=1

 a=1 #실패


  • 내부블록은 같은 거리 만큼 들여쓰여져야한다.

if a>1

print 'big'

 print 'really?'


  • 블록의 끝은 들여쓰기가 끝나는 부분으로 간주된다.
    {}나 begin나 end등으로 블록을 구분하지 않고 들여쓰기만으로 구분한다.


  • 탭과 공백을 섞어서 쓰는 것은 좋지 않다.
    보는것과 인식하는 것은 다르다.


  • 들여쓰기 간격은 일정하기만 하면 된다. 2,3,4칸 일정하면 자동으로 감지한다. 일반적으로 사용되는 공백의 수는 4혹은 8이다.


10진법을 10진법 이하의 진법으로 바꾸는 소스 (들여쓰기 보자)

def int2digit(n,base):

return res=''

while n>0:

n,r=divmod(n,base)

res='r'+res




for문

for<타켓> in <객체>:

<문1>

else:

<문2>


  • 루프문을 정상적으로 다 끝내고 else로 간다.

a=["cat","cow","tiger"]

for x in a:

print len(x), x

3 cat

3 cow

5 tiger



for x in [1,2,3]:

print x,  # , 사용이유 - 줄넘기 방지


  • 순차적으로 숫자를 반복할 경우에는 range함수를 이용한다.

range(10)

[0,1,2,3,4,5,6,7,8,9]


for x in range(10):

print x,



  • 1부터 10까지의 합을 구하는 예

sum = 0

for x in range(1,11):

sum=sum+x


print sum



  • 1부터 10까지 곱

prod=1

for x in range(1,11):

prod=prod*x


prod





  • for 문을 이용할때, 요소의 값뿐만아니라 인덱스 값도 함께 필요하면 enumerate()내장함수 이용
  • enumerate()내장함수는 인덱스.요소,값 튜플자료를 반복적으로 넘겨준다.

L=["cat","dog","bird","pig","spam"]

for k, animal in enumerate(L):

print k, animal


L=range(10)

L


for k , ele in enumerate(L):

L[k]=ele+1


L


  • break 이용

for x in range(10):

is x>3: break

print x

print 'done'



for x in range(10):

if x<8 : continue # x<8이면 for문으로 다시 올라간다.

print x

print 'done'



for x in range(10):

print x,

else:

print 'else block'

print 'done'



for x in range(10):

break

print x,

else:

print "else block"

print "done"



for x in range(2,4):

for y in range(2,10):

print x, '*', y, '=',x*y

print



while문

while <조건식>:

     <문1>

else:

<문2>


  • 조건이 거짓이라면 else문 수행


count=1

while count <11:

print count

count=count+1




sum=0

a=0

while a<10:

a=a+1

sum=sum+a

print sum



a=0

while a<10:

a=a+1

if a<3:coutinue

if a>10 : break

else:

print 'else block'

print 'done'


a=1

a=2

a=3 -->coutinue 

a=4 ... 

a=8

a=9

a=10 --> while문 조건 반대 else 수행

  • while문은 조건 안될때 수행된다!

'Study > Python' 카테고리의 다른 글

메모리 관리  (0) 2014.06.30
자료형 확인과 기타 자료형 확인  (0) 2014.06.30
변경가능성  (0) 2014.06.30
자료형의 종류  (0) 2014.06.28
콘솔 입.출력  (0) 2014.06.28

+ Recent posts