ํ˜ผ๊ณตํŒŒ(python)

[05-1] ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ

yeggrrr๐Ÿผ 2024. 2. 15. 12:16

 

 


 

 


 

โ–ท ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ ํ˜•ํƒœ

def ํ•จ์ˆ˜ ์ด๋ฆ„( ):
       ๋ฌธ์žฅ

 

 

โ–ท ํ•จ์ˆ˜์— ๋งค๊ฐœ๋ณ€์ˆ˜ ๋งŒ๋“ค๊ธฐ

def ํ•จ์ˆ˜ ์ด๋ฆ„(๋งค๊ฐœ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, โˆ™โˆ™โˆ™):
       ๋ฌธ์žฅ

 

๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์œ„์™€ ๊ฐ™์ด ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด„ํ˜ธ ๋‚ด๋ถ€์— ์‹๋ณ„์ž๋ฅผ ์ž…๋ ฅํ•ด์„œ ๋งŒ๋“ ๋‹ค. 

 

(↓์˜ˆ์‹œ↓)

 

→ 'print_n_times'๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ–ˆ๊ณ , 'value'์™€'n'์ด๋ผ๋Š” ์‹๋ณ„์ž๋ฅผ ์ž…๋ ฅํ•จ

(์ด์ œ 'value'์™€'n'์€ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋œ ๊ฒƒ. ์ดํ›„, ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•   ๋•Œ, ๊ฐ’์„ ์ž…๋ ฅํ•ด์„œ ํ•จ์ˆ˜๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Œ.)

→ ๋งค๊ฐœ๋ณ€์ˆ˜ value์—๋Š” "ํ‘ธ๋ฐ”์˜ค", ๋งค๊ฐœ๋ณ€์ˆ˜ n์—๋Š” 5๊ฐ€ ๋“ค์–ด๊ฐ 

→ ์‹คํ–‰ ๊ฒฐ๊ณผ: ํ‘ธ๋ฐ”์˜ค๊ฐ€ 5๋ฒˆ ์ถœ๋ ฅ๋จ

 

 

 

 

๐Ÿ’ก์ฃผ์˜๐Ÿ’ก

ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ

ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์ง€ ์•Š๊ฑฐ๋‚˜, ๋” ๋งŽ์ด ๋„ฃ์œผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•จ.

 

๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๋Š” ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ์™€ ๊ฐ™์€ ๊ฐœ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•จ.

 

 

 

 

 


 

 

 

 

โ–ท ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜

 

๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ธˆ๊นŒ์ง€ ๋งŽ์ด ๋ดค๋˜ print( ) ํ•จ์ˆ˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์›ํ•˜๋Š” ๋งŒํผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์›ํ•˜๋Š” ๋งŒํผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜ ํ•จ์ˆ˜๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜ = ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ณ€ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ

 

def ํ•จ์ˆ˜ ์ด๋ฆ„(๋งค๊ฐœ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, โˆ™โˆ™โˆ™, *๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜):
       ๋ฌธ์žฅ

 

 

๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ œ์•ฝ์ด ์žˆ๋‹ค.

 

โ‘  ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋’ค์—๋Š” ์ผ๋ฐ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์˜ฌ ์ˆ˜ ์—†๋‹ค.

โ‘ก ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋Ÿฌํ•œ ์ œ์•ฝ์ด ์—†๋‹ค๋ฉด, ์–ด๋””์„œ๋ถ€ํ„ฐ ์–ด๋””๊นŒ์ง€๊ฐ€ ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜์ธ์ง€ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ๋“ค์–ด์ง„ ๊ทœ์น™์ด๋‹ค.

(↓์•„๋ž˜ ์˜ˆ์‹œ ์ฐธ๊ณ ↓)

 

(์œ„ ์˜ˆ์‹œ๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ๋‘ ๋ฒˆ ์‚ฌ์šฉํ•ด์„œ ์ถœ๋ ฅํ•œ ๊ฒƒ)

 

๋งŒ์•ฝ print_n_times("ํ‘ธ๋ฐ”์˜ค๋Š”", "๋„ˆ๋ฌด", "๊ท€์—ฝ๋‹ค", 3)์ฒ˜๋Ÿผ ๋ง‰ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๋ฉด?? 

์–ด๋–ค ๊ฒƒ์ด ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜์ด๊ณ , ์–ด๋–ค ๊ฒƒ์ด ๋งค๊ฐœ๋ณ€์ˆ˜ n์ธ์ง€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ํž˜๋“ค์—ˆ์„ ๊ฒƒ์ด๋‹ค.

 

→  ๊ทธ๋ž˜์„œ ๋งค๊ฐœ๋ณ€์ˆ˜ n์„ ์•ž์œผ๋กœ ์˜ฎ๊ธฐ๊ณ  ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜ *values๋ฅผ ๋’ค๋กœ ๋ฏผ ๊ฒƒ!

 

(์œ„ ์˜ˆ์‹œ๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ํ•œ ๋ฒˆ ์‚ฌ์šฉํ•ด์„œ ์ถœ๋ ฅํ•œ ๊ฒƒ)

 

 

 

 


 

 

 

 

โ–ท ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜

 

 

์•„๋ž˜๋Š” print( ) ํ•จ์ˆ˜์˜ ์ž๋™ ์™„์„ฑ ๊ธฐ๋Šฅ์œผ๋กœ ๋‚˜์˜ค๋Š” ์„ค๋ช…์ด๋‹ค.

print(value, โˆ™โˆ™โˆ™, sep=' ', end='\n', file=sys.stdout, flush=False)

 

 

์•ž์— ์ •๋ฆฌํ–ˆ๋˜ ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜์—์„œ ๋‘ ๊ฐ€์ง€ ์ œ์•ฝ ์ค‘ ํ•˜๋‚˜.

 

โ‘  ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋’ค์—๋Š” ์ผ๋ฐ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์˜ฌ ์ˆ˜ ์—†๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์œ„์— print( ) ํ•จ์ˆ˜๋ฅผ ๋ณด๋ฉด ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋’ค์—๋Š” ์ผ๋ฐ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์™”๊ณ ,

ํŠน์ดํ•˜๊ฒŒ๋„ '๋งค๊ฐœ๋ณ€์ˆ˜=๊ฐ’' ํ˜•ํƒœ๋กœ ๋˜์–ด ์žˆ๋‹ค.

 

๋ฐ”๋กœ ์ด๋ฅผ ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋ณธ๊ฐ’์ด๋‹ค.

 

 

 

๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ œ์•ฝ์ด ์žˆ๋‹ค.

 

โ‘  ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋’ค์—๋Š” ์ผ๋ฐ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์˜ฌ ์ˆ˜ ์—†๋‹ค.

 

 

์™œ ์ด๋Ÿฐ ์ œ์•ฝ์„ ๋‘์—ˆ์„๊นŒ? 

01    def print _n_times(value, n=2)
02          for i in range(n):
03               print(value)
04
05   print_n_times("์•ˆ๋…•ํ•˜์„ธ์š”")

 

 

<์‹คํ–‰ ๊ฒฐ๊ณผ>

์•ˆ๋…•ํ•˜์„ธ์š”
์•ˆ๋…•ํ•˜์„ธ์š”

 

์œ„ ์˜ˆ์ œ์—์„œ ๋งŒ์•ฝ์— print_n_times(n=2, value) ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๋ฉด,

์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜์— ํ• ๋‹น๋˜์–ด์•ผ ํ•˜๋Š”์ง€, ๋‘ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜์— ํ• ๋‹น๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ์•Œ ์ˆ˜ ์—†๋‹ค.

๊ทธ๋ž˜์„œ ์ด๋Ÿฌํ•œ ์ œ์•ฝ์„ ๋‘” ๊ฒƒ์ด๋‹ค.

 

 

 

 


 

 

 

 

โ–ท ํ‚ค์›Œ๋“œ ๋งค๊ฐœ๋ณ€์ˆ˜

 

 

๋จผ์ € ๋‘ ๊ฐ€์ง€ ๊ฒฝ์šฐ๋ฅผ ๋จผ์ € ์‚ดํŽด๋ณด์ž.

 

 

โœ”๏ธ ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์•ž์— ์˜ฌ ๋•Œ

def print_n_times(n=2, *values):
      for i in range(n):
           for value in values:
                 print(value)
           print( )

print_n_times("์•ˆ๋…•", "๊ท€์—ฌ์šด", "ํ‘ธ๋ฐ”์˜ค")

 

 

๊ฒฐ๊ณผ๋Š” ์–ด๋–ป๊ฒŒ ๋‚˜์˜ฌ๊นŒ?

Traceback (most recent call last):
  File "/Users/YJ/Practice/CP4/For/test01.py", line 17, in <module>
      print_n_times("์•ˆ๋…•", "๊ท€์—ฌ์šด", "ํ‘ธ๋ฐ”์˜ค")
  File "/Users/YJ/Practice/CP4/For/test01.py", line 12, in print_n_times
     for i in range(n):
             ^^^^^^^^
TypeError: 'str' object cannot be interpreted as an integer

 

์œ„์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. 

 

 

 

 

 

โœ”๏ธ ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜ ์•ž์— ์˜ฌ ๋•Œ

def print_n_times(*values, n=2):
      for i in range(n):
           for value in values:
                 print(value)

           print( )

print_n_times("์•ˆ๋…•", "๊ท€์—ฌ์šด", "ํ‘ธ๋ฐ”์˜ค", 3)

 

์ด ๊ฒฝ์šฐ์—๋Š” ๊ฒฐ๊ณผ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋‚˜์˜ฌ๊นŒ?

 

["์•ˆ๋…•", "๊ท€์—ฌ์šด", "ํ‘ธ๋ฐ”์˜ค"]๋ฅผ 3๋ฒˆ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜...

["์•ˆ๋…•", "๊ท€์—ฌ์šด", "ํ‘ธ๋ฐ”์˜ค", 3]์„ 2๋ฒˆ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜??

 

์•ˆ๋…•
๊ท€์—ฌ์šด
ํ‘ธ๋ฐ”์˜ค
3

์•ˆ๋…•
๊ท€์—ฌ์šด
ํ‘ธ๋ฐ”์˜ค
3

 

์ด๋ ‡๊ฒŒ ์ถœ๋ ฅ๋œ๋‹ค.

๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์šฐ์„ ๋œ ๊ฒƒ์ด๋‹ค.

 

 

๊ทธ๋ ‡๋‹ค๋ฉด ๋‘ ๊ฐ€์ง€๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—†์„๊นŒ?

ํŒŒ์ด์ฌ์—์„œ๋Š” ์ด๋Ÿฐ ์ƒํ™ฉ์„ ์œ„ํ•ด ํ‚ค์›Œ๋“œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ผ๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์—ˆ๋‹ค.

 

 

 


 

 

 

๋ฐ”๋กœ ์œ„์—์„œ ๋ดค๋˜ ์ฝ”๋“œ์—์„œ ["์•ˆ๋…•", "๊ท€์—ฌ์šด", "ํ‘ธ๋ฐ”์˜ค"]๋ฅผ ์„ธ ๋ฒˆ ์ถœ๋ ฅํ•˜๋„๋ก ์‹คํ–‰ํ•˜๋ ค๋ฉด,

 

print_n_times("์•ˆ๋…•", "๊ท€์—ฌ์šด", "ํ‘ธ๋ฐ”์˜ค", 3)

 print_n_times("์•ˆ๋…•", "๊ท€์—ฌ์šด", "ํ‘ธ๋ฐ”์˜ค", n=3)

 

์ด๋ ‡๊ฒŒ ๋ฐ”๊ฟ”์„œ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋œ๋‹ค.

์•ˆ๋…•
๊ท€์—ฌ์šด
ํ‘ธ๋ฐ”์˜ค

์•ˆ๋…•
๊ท€์—ฌ์šด
ํ‘ธ๋ฐ”์˜ค

์•ˆ๋…•
๊ท€์—ฌ์šด
ํ‘ธ๋ฐ”์˜ค

 

์ด์ฒ˜๋Ÿผ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์„œ ์ž…๋ ฅํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ‚ค์›Œ๋“œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

 

 

 

 

 


 

ํ˜ธ์ถœ: ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ–‰์œ„

 

๋งค๊ฐœ๋ณ€์ˆ˜: ํ•จ์ˆ˜์˜ ๊ด„ํ˜ธ ๋‚ด๋ถ€์— ๋„ฃ๋Š” ๊ฒƒ์„ ์˜๋ฏธ

 

๋ฆฌํ„ด๊ฐ’: ํ•จ์ˆ˜์˜ ์ตœ์ข…์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์˜๋ฏธ

 

๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜ ํ•จ์ˆ˜: ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์›ํ•˜๋Š” ๋งŒํผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜

 

๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜: ๋งค๊ฐœ๋ณ€์ˆ˜์— ์•„๋ฌด๊ฒƒ๋„ ๋„ฃ์ง€ ์•Š์•„๋„ ๋“ค์–ด๊ฐ€๋Š” ๊ฐ’

 


 

 

 

 

 

 

 

_Next

ํ•จ์ˆ˜์˜ ํ™œ์šฉ

 

 

 

 

 

 

 

 

 

 

 

(์ฐธ๊ณ )ํ˜ผ์ž๊ณต๋ถ€ํ•˜๋Š”ํŒŒ์ด์ฌ_ํ•œ๋น›๋ฏธ๋””์–ด

 

 

 

 

 

 

 

 

 

 

728x90