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 ¹®À» ÀÌ¿ëÇØµµ ¾ó¸¶µçÁö ÇÒ ¼ö ÀÖ´Â ÀÏÀ» ¿¹·Î µé¾úÁö¸¸ ¾î¶² °æ¿ì¿¡´Â Àç±ÍÀû È£ÃâÀ» Àß »ç¿ëÇÏ¸é º¹ÀâÇÑ ÇÁ·Î±×·¥À»
¾ÆÁÖ ½±°Ô ¸¸µé ¼öµµ ÀÖ´ä´Ï´Ù.
ÇÏÁö¸¸,
ÇÔ¼ö¸¦ ¿©·¯ ¹ø È£ÃâÇØ¼ ÀÏÀ» ó¸®Çϱ⠶§¹®¿¡ »ç¶÷ÀÌ ÆíÇÑ ¸¸Å ÄÄÇ»ÅÍ¿¡°Ô´Â ÈûÀÌ ´õ µå´Â ¹æ¹ýÀ̱⵵ ÇÏ´ä´Ï´Ù.
¿À´Ã ¹è¿î ³»¿ëÀº Áö±Ý ²À ÀÌÇØÇÏÁö ¸øÇصµ
»ó°ü¾ø½À´Ï´Ù. ÇÁ·Î±×·¡¹Ö °øºÎ¸¦ °è¼ÓÇϽôٺ¸¸é ´Ù½Ã ¹è¿ì°Ô µÉÅ״ϱî¿ä.
¿¹Àü¿¡ ¹è¿î ³»¿ëÀ» È®½ÇÈ÷ ¸ô¶ó¼ ÀÌ ³»¿ëÀ»
ÀÌÇØÇÏÁö ¸øÇÏ¼Ì´Ù¸é º¹½ÀÀ» Á» ´õ ÇϽŠÈÄ¿¡ ´Ù½Ã º¸½Ã´Â °ÍÀÌ ÁÁ°Ú³×¿ä.
±×·³ ÁÁÀº ÇÏ·ç µÇ¼¼¿ä~.