3.2. Àç±ÍÀû ¿ë¹ý(ÀÚ±â ÀÚ½ÅÀ» È£ÃâÇϱâ)

(°íÄ£ ³¯ : 2001-05-16)

ÇÏÀÌ~.

 

¿À´Ã ¹è¿ï °ÍÀº »õ·Î¿î ÆÄÀ̽㠹®¹ýÀº ¾Æ´Ï±¸¿ä, ÇÁ·Î±×·¥À» Â¥´Â Å×Å©´Ð ÁßÀÇ ÇÑ °¡ÁöÀε¥ Á¶±Ý ¸Ó¸®°¡ ¾ÆÇà ¼öµµ ÀÖ´Â ³»¿ëÀ̶ø´Ï´Ù. ÇÏÁö¸¸ ÃÖ´ëÇÑ ½±°Ô ¾Ë·Áµå¸± Å×´Ï±î ³Ê¹« °ÆÁ¤ ¸¶½Ã°í ÇÔ²² ¾Ë¾Æº¸µµ·Ï ÇÏÁÒ.

 

¾Ë¾Æº¼ ³»¿ëÀÌ ¹«¾ùÀΰí ÇÏ´Ï, ÇÔ¼ö°¡ ÀÚ±â ÀÚ½ÅÀ» È£ÃâÇÏ´Â ¡®Àç±Í¡¯ÀûÀÎ ¿ë¹ýÀÔ´Ï´Ù.

 

°©Àڱ⠾î·Á¿î °ÍÀ» ¹è¿ì¸é ¸Ó¸®°¡ ¸¹ÀÌ ¾ÆÇÁ½Ç Å×´Ï±î ¸ÕÀú Áغñ¿îµ¿À» ÇÏ´Â °ÍÀÌ ÁÁ°Ú±º¿ä. ´ÙÀ½ÀÇ ¿¹Á¦¸¦ ºÁÁÖ¼¼¿ä.

¸ÕÀú ÁÖ¾îÁø µÎ ¼ö¸¦ ÇÕÇÏ´Â ÇÔ¼ö¸¦ ¸¸µé¾îº¸°Ú½À´Ï´Ù.

 

>>> def hap(a, b):

...   print a + b

...

 

Á¦´ë·Î ¸¸µé¾ú´ÂÁö È®ÀÎÀ» ÇØº¸¼¼¿ä. ÀÌ ÇÔ¼ö¸¦ ¾î¶»°Ô ¾²´ÂÁö ¾Æ½Ã°ÚÁÒ?

È®ÀÎÇØº¸¼ÌÀ¸¸é µÎ ¼ö¸¦ °öÇÏ´Â ÇÔ¼öµµ ¸¸µé¾îº¸¼¼¿ä.

 

>>> def gop(a, b):

...   print a * b

...

 

±×·³ À̹ø¿£ µÎ ¼ö¸¦ ÇÕÇØº¸°í °öÇØº¸°í, µÎ °¡Áö ÀÏÀ» ´ÙÇÏ´Â ÇÔ¼öµµ ¸¸µé¾î º¸°Ú½À´Ï´Ù.

 

>>> def hap_gop(a, b):

...   hap(a, b)

...   gop(a, b)

...

 

ÀÌ ÇÔ¼ö´Â Àڱ⿡°Ô ¸Ã°ÜÁø ÀÏÀ» Á÷Á¢ ¼öÇàÇÏÁö ¾Ê°í ´Ù¸¥ ÇÔ¼öµé¿¡°Ô ½ÃÄѹö¸®ÁÒ?

´Ù½Ã ¸»Çϸé, ÀÌ ÇÔ¼ö´Â hap() ÇÔ¼ö¿Í gop() ÇÔ¼ö¸¦ È£ÃâÇß´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Å×½ºÆ®¸¦ ÇÑ ¹ø ÇØº¸¼¼¿ä. Àç¹Ì ÀÖÀ¸½Å°¡¿ä?

 

ÀÌÁ¨ º»·ÐÀ¸·Î µé¾î°¡°Ú½À´Ï´Ù.

 

def countdown(n):
   
if n == 0:
     
print "Blastoff!"
   
else:
     
print n
      countdown(n-1)

 

¿À¿ô! Äڵ尡 ÇüÇü»ö»öÀ̱º¿ä~.

´Ù¸¥ »çÀÌÆ®¿¡¼­ º¹»çÇß´õ´Ï¡¦ ÈåÈ塦

 

ÀÌ ÇÔ¼ö´Â ¹«½¼ ÀÏÀ» ÇÏ´Â ÇÔ¼öÀϱî¿ä?

ÇÔ¼ö À̸§À» º¸¸é ÃßÃøÀ» ÇÒ ¼öµµ Àִµ¥¡¦

Àß ¸ð¸£½Ã°Ú³ª¿ä? ±×·¸´Ù¸é ¸î ÁÙ ¾ÈµÇ´Ï±î Á÷Á¢ Ãĺ¸½ÃÁö¿ä.

Á¦´ë·Î ¸¸µå¼ÌÀ¸¸é ¾Æ·¡¿Í °°ÀÌ »ç¿ëÀ» ÇØº¸½Ã±¸¿ä.

 

>>> countdown(3)

3

2

1

Blastoff!

 

ÀÌ ÇÔ¼ö´Â ¸Å°³º¯¼ö·Î ¹ÞÀº ¼öºÎÅÍ Ä«¿îÆ®´Ù¿îÀ» ÇÏ´Ù°¡ 0±îÁö ¿À¸é ²Î!ÇÏ´Â ÀÏÀ» ÇÑ´ä´Ï´Ù.

¡®±×·± °Å¶ó¸é for ¹®À̳ª while ¹®°ú ¶È°°Àݾơ¯ÇÏ°í »ý°¢ÇÏ´Â ºÐµµ °è½Ã°ÚÁö¸¸ Äڵ带 °¡¸¸È÷ º¸½Ã¸é Â÷ÀÌÁ¡À» ¹ß°ßÇÏ½Ç °Å¿¹¿ä.

 

ÀÌ ÇÔ¼ö´Â if, else ±¸Á¶·Î¼­ nÀÌ 0ÀÎÁö ¾Æ´ÑÁö µû¶ó¼­ ´Ù¸¥ ÀÏÀ» Çϵµ·Ï µÇ¾î ÀÖ½À´Ï´Ù.

ÀÌ if¹®¿¡¼­ °Ë»çÇÏ´Â nÀº ù°ÁÙ¿¡¼­ ÇÔ¼ö¸¦ Á¤ÀÇÇÒ ¶§ ¸Å°³º¯¼ö·Î Á¤ÇØÁØ n°ú °°Àº ³à¼®ÀÔ´Ï´Ù. ±×·¯´Ï±î ¸Å°³º¯¼ö¿¡ 3À» ³Ö¾î¼­ ÇÔ¼ö¸¦ È£ÃâÇϸé, Áï countdown(3)À̶ó°í ¾²¸é ÇÔ¼ö º»Ã¼ÀÇ n°ªÀ¸·Î 3ÀÌ µé¾î°¡´Â °ÍÀÌÁö¿ä.

n°ªÀ¸·Î 3ÀÌ µé¾î¿À¸é ÇÔ¼ö ³»ºÎ¿¡¼­´Â ¾î¶² ÀÏÀÌ ¹ú¾îÁú±î¿ä?

¸ÕÀú if n == 0: ¿¡¼­ n°ªÀÌ 0°ú °°ÀºÁö ºñ±³ÇÕ´Ï´Ù. nÀÌ 3À̹ǷΠnÀÇ °ª°ú 0Àº °°Áö ¾Ê½À´Ï´Ù. ±×·¯¸é else: ÀÌÈÄÀÇ ¸í·ÉÀ» ¼öÇàÇϰÚÁö¿ä.

´ÙÀ½ ÁÙ¿¡ ÀÖ´Â print n Àº n °ªÀ» Ãâ·ÂÇ϶ó´Â ¸í·ÉÀ̴ϱî È­¸é¿¡ 3À» Ãâ·ÂÇØÁÝ´Ï´Ù.

±× ´ÙÀ½¿£ countdown(n-1)À̶ó°í µÇ¾îÀÖÁö¿ä. countdownÀ̶ó´Â ÇÔ¼ö¸¦ È£ÃâÇϸ鼭 n-1 °ªÀ» ¸Å°³º¯¼ö·Î ³Ö¾îÁÖ¶ó´Â ¶æÀÔ´Ï´Ù. °á±¹ countdown(2)¿Í °°ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏ°Ô µÇÁö¿ä.

±×·±µ¥ ¿©±â¼­ ¹º°¡ ÀÌ»óÇÏ´Ù´Â °ÍÀ» ´«Ä¡Ã¤¼ÌÀ» °Ì´Ï´Ù.

countdownÀ̶ó´Â ÇÔ¼ö¿¡¼­ countdownÀ» È£ÃâÇÑ´Ù?

¿¹, ±×°ÍÀÌ ¹Ù·Î ¿À´ÃÀÇ ÁÖÀΰø, Àç±ÍÀû È£ÃâÀÔ´Ï´Ù. ÇÔ¼ö°¡ ÀÚ±â ÀÚ½ÅÀ» È£ÃâÇÏ´Â °ÍÀÌÁÒ.

 

¸Ó¸®°¡ º¹ÀâÇØÁö±â ½ÃÀÛÇÏ½Å´Ù¸é »ý°¢À» Àá½Ã µ¤À¸½Ã°í countdown(2)¶ó°í È£ÃâÇÏ¸é ¾î¶² ÀÏÀÌ ÀϾÁöºÎÅÍ ÇÔ²² µûÁ®º¸ÁÒ.

¸ÕÀú if¹®¿¡¼­ n °ªÀÌ 0°ú °°ÀºÁö °Ë»ç¸¦ ÇÕ´Ï´Ù. °Ë»ç °á°ú°¡ °ÅÁþÀ̹ǷΠelse: ÀÌÈÄÀÇ ¸í·ÉÀ» ¼öÇàÇϰÚÁÒ. print n¿¡¼­ n °ªÀÎ 2À» È­¸é¿¡ Ãâ·ÂÇØÁÖ°í ±× ´ÙÀ½ ÁÙ¿¡¼­ countdown(1)À» È£ÃâÇÕ´Ï´Ù.

 

¿ÀÈ£~.

¹º°¡ °¨ÀÌ ÀâÈ÷½Ã³ª¿ä? óÀ½¿¡ countdown ÇÔ¼ö¸¦ È£ÃâÇϸ鼭 ¸Å°³º¯¼ö °ªÀ¸·Î 3À» ³Ö¾îÁá´Âµ¥ ÇÔ¼ö°¡ ÀÚ±âÀÚ½ÅÀ» È£ÃâÇϸ鼭 ¸Å°³º¯¼ö°¡ Á¡Á¡ ÀÛ¾ÆÁöÁÒ? ±×·¸´Ù¸é countdown(1)Àº ´Ù½Ã countdown(0)À» È£ÃâÇÏ°Ô µÇ´Â °ÍÀÌ Æ²¸²¾ø½À´Ï´Ù.

±×·¯¸é countdown(0)¿¡¼­´Â ¹«½¼ ÀÏÀ» ÇÒ±î¿ä?

n == 0À̸é print ¡°Blastoff!¡±Ç϶ó°í µÇ¾îÀÖÀ¸´Ï È­¸é¿¡ ±×·¸°Ô Ãâ·ÂÇØÁÝ´Ï´Ù. ¡°»½À̾ß~!¡±

 

±×·¸°ÔÇØ¼­ countdown ÇÔ¼ö°¡ ³¡ÀÌ ³³´Ï´Ù.

Áö±Ý±îÁö º» °ÍÀÌ ¸ðµÎ countdown(3)À» È£ÃâÇßÀ» ¶§ ÀϾ´Â ÀϵéÀÔ´Ï´Ù.

ÀÌ ÀϵéÀ» ÇÏ´Â µ¿¾È countdown ÇÔ¼ö´Â ³× ¹øÀ̳ª È£ÃâµÇ¾úÁö¿ä. countdown(3), countdown(2), countdown(1), countdown(0). ¸Â³ª¿ä?

 

¾î¶°¼¼¿ä? ÀÌÇØÇÒ ¸¸ ÇѰ¡¿ä? Á» ¾î·Æ±ä ÇÏÁö¸¸ ¾Ë°í ³ª¸é ²Ï Àç¹Ì°¡ ÀÖÁö¿ä.

»ç½Ç ÀÌ ¿¹Á¦¿¡¼­´Â for ¹®À» ÀÌ¿ëÇØµµ ¾ó¸¶µçÁö ÇÒ ¼ö ÀÖ´Â ÀÏÀ» ¿¹·Î µé¾úÁö¸¸ ¾î¶² °æ¿ì¿¡´Â Àç±ÍÀû È£ÃâÀ» Àß »ç¿ëÇÏ¸é º¹ÀâÇÑ ÇÁ·Î±×·¥À» ¾ÆÁÖ ½±°Ô ¸¸µé ¼öµµ ÀÖ´ä´Ï´Ù.

ÇÏÁö¸¸, ÇÔ¼ö¸¦ ¿©·¯ ¹ø È£ÃâÇØ¼­ ÀÏÀ» ó¸®Çϱ⠶§¹®¿¡ »ç¶÷ÀÌ ÆíÇÑ ¸¸Å­ ÄÄÇ»ÅÍ¿¡°Ô´Â ÈûÀÌ ´õ µå´Â ¹æ¹ýÀ̱⵵ ÇÏ´ä´Ï´Ù.

 

¿À´Ã ¹è¿î ³»¿ëÀº Áö±Ý ²À ÀÌÇØÇÏÁö ¸øÇصµ »ó°ü¾ø½À´Ï´Ù. ÇÁ·Î±×·¡¹Ö °øºÎ¸¦ °è¼ÓÇϽôٺ¸¸é ´Ù½Ã ¹è¿ì°Ô µÉÅ״ϱî¿ä.

¿¹Àü¿¡ ¹è¿î ³»¿ëÀ» È®½ÇÈ÷ ¸ô¶ó¼­ ÀÌ ³»¿ëÀ» ÀÌÇØÇÏÁö ¸øÇÏ¼Ì´Ù¸é º¹½ÀÀ» Á» ´õ ÇϽŠÈÄ¿¡ ´Ù½Ã º¸½Ã´Â °ÍÀÌ ÁÁ°Ú³×¿ä.

±×·³ ÁÁÀº ÇÏ·ç µÇ¼¼¿ä~.