๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • Maker's VAP
Programming/Python

[Python] Python์ด๋ž€?

by E = mc² 2020. 7. 28.
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

๐ŸŒฑPython์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

ํŒŒ์ด์ฌ์€ ์ €๊ธ‰ ์–ธ์–ด์ธ ๊ธฐ๊ณ„์–ด(1์„ธ๋Œ€)์™€ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด(2์„ธ๋Œ€)๋ณด๋‹ค ์ž์—ฐ์–ด์™€ ์œ ์‚ฌํ•œ ๋ฌธ๋ฒ•์œผ๋กœ ๊ฐ€๋…์„ฑ์ด ์ข‹์€ 3์„ธ๋Œ€ ๊ณ ๊ธ‰์–ธ์–ด๋กœ์จ ์œˆ๋„์šฐ, ๋งฅ, ์œ ๋‹‰์Šค, ๋ฆฌ๋ˆ…์Šค ๋“ฑ ์šด์˜์ฒด์ œ๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ํ•œ ๋ฒˆ์— ๋ช…๋ น์–ด ํ•œ ํ–‰์”ฉ ๋ฒˆ์—ญ ๋ฐ ์ฒ˜๋ฆฌํ•˜๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ์‹ ์–ธ์–ด์ด๋‹ค.

 

์ „๋ฌธ๊ฐ€๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ์‰ฝ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ์ž…๋ฌธ์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ผฝ์ž๋ฉด ๋ฐ”๋กœ ํŒŒ์ด์ฌ(Python)์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์‹ค์ œ๋กœ ๊ทธ๋ž˜ํ”ฝ ๋ชจ๋“ˆ๋„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์–ด ๋‹จ ๋ช‡ ์ค„๋งŒ์œผ๋กœ ๋ฐ”๋กœ ๊ทธ๋ฆผ์„ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์–ด ์ฒ˜์Œ๋ถ€ํ„ฐ ์žฌ๋ฏธ์žˆ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด ์•„๋‹๊นŒ ํ•œ๋‹ค.


ํŒŒ์ด์ฌ์„ ์„ค์น˜ํ•œ ํ›„ "python"์„ ๊ฒ€์ƒ‰,

 

 

ํŒŒ๋ž€์ƒ‰ ํ‘œ์‹œ๋กœ ๋œ IDLE๋ฅผ ์šฐํด๋ฆญํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฐฝ์ด ๋œจ๋Š”๋ฐ ์—ฌ๊ธฐ์—์„œ ๋ฐ”๋กœ ์‹ค์Šต์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

">>>"์œผ๋กœ ๊บฝ์‡  ํ‘œ์‹œ๊ฐ€ 3๊ฐœ ์—ฐ๋‹ฌ์•„ ๋˜์–ด์žˆ๋Š” ์ค„์— ๋ช…๋ น์–ด๋ฅผ ํ•œ ์ค„์”ฉ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

์ด์ œ ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ถœ๋ ฅํ•ด๋ณด์ž.


์–ด๋– ํ•œ ๋„ํ˜•์„ ์ƒ‰๊ฐ์„ ๋„ฃ์–ด ๊ทธ๋ฆฌ๊ฑฐ๋‚˜ ์ขŒํ‘œ 2๊ฐœ๋ฅผ ์ฐ๊ณ  ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž.

์ด๋•Œ ์บ”๋ฒ„์Šค ์œ„์— ํŽœ์œผ๋กœ ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฐ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.


1. ์›ํ˜• 2๊ฐœ๋ฅผ ๊ทธ๋ฆฌ๋˜ ๊ฐ๊ฐ ๊ฒ€์€์ƒ‰, ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๊ทธ๋ฆฌ๋ ค๋ฉด?

 

๋จผ์ € ๋‚ด์žฅ turtle ๋ชจ๋“ˆ์„ import ํ•˜์—ฌ ๊ทธ๋ž˜ํ”ฝ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

๊ทธ๋‹ค์Œ showturtle() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์บ”๋ฒ„์Šค๋ฅผ ํ™•์ธํ•œ๋‹ค.

 

 

turtle์ด์ง€๋งŒ ์ค‘์•™์— ํ™”์‚ดํ‘œ๋กœ ํ‘œ์‹œ๋˜๋Š” ํฌ์ธํŠธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋‹ค์‹œ Shell๋กœ ๋Œ์•„์™€ ๋‹ค์Œ ํ–‰์— ์›์„ ๊ทธ๋ฆด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

ํŒŒ๋ž€์ƒ‰ ์›์„ ๋จผ์ € ๊ทธ๋ฆฌ๊ณ  ๊ฒ€์€์ƒ‰ ์›์„ ์ดํ›„์— ๊ทธ๋ฆฐ๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ๊ฒ€์€์ƒ‰์„ ๋‚˜ํƒ€๋‚ด๋ฏ€๋กœ color() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

์ƒ‰์ƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” "blue"๋Š” ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ "" ๋‚ด์— ์ƒ‰์ƒ๋ช…์„ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

๊ทธ๋Ÿผ ํ™”์‚ดํ‘œ ์ƒ‰์ƒ ๋˜ํ•œ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋ฐ”๋€๋‹ค.

 

๋ฐ˜์ง€๋ฆ„์„ ์•Œ์•„์•ผ ์›์„ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ž„์˜๋กœ ์ง€์ •ํ•  ๋ฐ˜์ง€๋ฆ„ ๊ฐ’์„ circle() ํ•จ์ˆ˜ ๋‚ด์— ์ž‘์„ฑ, ์—”ํ„ฐํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ž๋™์œผ๋กœ ์›์ด ๊ทธ๋ ค์ง„๋‹ค.

 

 

 

์ด์ œ ๋™์ผํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‚˜๋จธ์ง€ ๊ฒ€์€์ƒ‰ ์›๋„ ๊ทธ๋ ค๋ณด์ž.

 

๋งŒ์•ฝ ๋‹ค๋ฅธ ์œ„์น˜์— ๊ทธ๋ฆฌ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ?

์ขŒํ‘œ๋ฅผ ๋ฐ”๋กœ ์ด๋™์‹œํ‚ค๋Š” goto() ํ•จ์ˆ˜์™€ ํŽœ์„ ๋“ค์–ด ์˜ฌ๋ฆฌ๋Š” penup(), ํŽœ์„ ๋‚ด๋ฆฌ๋Š” pendown() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

์ด๋•Œ ์ขŒํ‘œ๊ฐ’์€ goto(x, y)์œผ๋กœ ์„ค์ •ํ•˜๋Š”๋ฐ ๋งจ ์ฒ˜์Œ ํŒŒ๋ž€์ƒ‰ ์›์ฒ˜๋Ÿผ ์ขŒํ‘œ๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด (0, 0)์œผ๋กœ ๊ทธ๋ ค์ง„๋‹ค.

 

 

 

์œ„์™€ ๊ฐ™์ด ํ™”์‚ดํ‘œ๊ฐ€ ๊ฒ€์€์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ๋˜๊ณ  ์œ„์น˜๋„ ์ด๋™ํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜์ง€๋ฆ„ ๊ฐ’์„ 50์œผ๋กœ ์„ค์ •ํ•ด๋ณด์ž.

 

 

 


2. ์ขŒํ‘œ๊ฐ’ 2๊ฐœ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜์‹œ์˜ค.

 

 ์ด๋ฒˆ์—” File > New File ๊ฒฝ๋กœ๋กœ ์ƒˆ ์ฐฝ์„ ์—ด์–ด ํŒŒ์ด์ฌ์˜ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์ธ ๋ณต์ˆ˜๊ฐœ์˜ ๊ฐ’์„ ๋ณต์ˆ˜๊ฐœ์˜ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๋™์‹œ ํ• ๋‹น๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ขŒํ‘œ๊ฐ’์„ ์ง€์ •ํ•œ ํ›„ ํ”ผํƒ€๊ณ ๋ผ์Šค ์ •๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‘ ์ขŒํ‘œ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ด๋ณด์ž.

 

 

์ด๋ ‡๊ฒŒ ์ƒˆ ์ฐฝ์ด ์—ด๋ฆฌ๋ฉด ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•œ ๋ฒˆ์— ์ญ‰ ๋‚˜์—ดํ•˜๊ณ  ์ €์žฅํ•ด๋‘˜ ์ˆ˜ ์žˆ๋‹ค.

 

์ฒซ ๋ฒˆ์งธ๋กœ turtle ๋ชจ๋“ˆ์„ import ํ•˜๊ณ  ์ขŒํ‘œ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›์„ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž.

 

 

์ž…๋ ฅ๋ฐ›๋Š” ํ•จ์ˆ˜๋Š” ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋™์ผํ•˜๊ฒŒ input() ํ•จ์ˆ˜์ด๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์ด๋•Œ ์ฃผ์˜ํ•  ์ ์ด ์žˆ๋‹ค.

์ขŒํ‘œ๊ฐ’์€ ์ˆซ์ž์—ฌ์•ผ ํ•˜๋Š”๋ฐ input() ํ•จ์ˆ˜๋กœ ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์€ ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ ์ˆซ์ž๋กœ ํ˜• ๋ณ€ํ™˜์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

๊ทธ๋Ÿผ ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์„๊นŒ?

 

"ํ‰๊ฐ€ํ•˜๋‹ค"๋ผ๋Š” ๋œป์˜ evaluate๋ฅผ ์ค„์—ฌ ์“ด eval() ํ•จ์ˆ˜๋กœ input() ํ•จ์ˆ˜๋ฅผ ๊ฐ์‹ธ ๋ณ€์ˆ˜์— ๋‹ด์•„์ฃผ๋ฉด ๋!

 

 

 

์ด๋‹ค์Œ ๋‘ ์ขŒํ‘œ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•œ ๊ฐ’์„ ๋‹ด์„ ๋ณ€์ˆ˜ distance๋ฅผ ์„ ์–ธํ•ด์ค€๋‹ค.

ํŒŒ์ด์ฌ์—์„œ ์ง€์ˆ˜๋Š” "**"์œผ๋กœ ํ‘œ๊ธฐํ•œ๋‹ค๋Š” ๊ฒƒ ์ฐธ๊ณ .

 

 

์ขŒํ‘œ๊ฐ’๊ณผ ๊ฑฐ๋ฆฌ๋ฅผ ๋‹ด์„ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ–ˆ์œผ๋‹ˆ ์ด์ œ ์ž…๋ ฅ๋ฐ›์€ ์ขŒํ‘œ๋ฅผ ์ฐ๊ณ  ํ•ด๋‹น ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ด๋ณด์ž.

 

 

ํŽœ์œผ๋กœ ์ขŒํ‘œ๋ฅผ ์ฐ๊ณ  ๋ช‡ ๋ฒˆ์งธ ์ ์ธ์ง€ ํ‘œ์‹œํ•ด ์ค€ ๋‹ค์Œ, ๊ฐ€์šด๋ฐ ์ง€์ ์œผ๋กœ ํŽœ์„ ์˜ฎ๊ธด ํ›„ distance ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•œ๋‹ค. ๋งˆ์ง€๋ง‰ ์ค„์—๋Š” ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ์‹คํ–‰ํ•œ ํ›„ ์™„๋ฃŒํ–ˆ๋‹ค๋Š” ๊ฑธ ์•Œ๋ ค์ฃผ๋Š” done() ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.

 

์œ„์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰(run) ํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € ํŒŒ์ผ์„ ์ €์žฅํ•œ๋‹ค.

 

 

 

์›ํ•˜๋Š” ์œ„์น˜์— ์ €์žฅํ•˜๊ณ  ํ•ด๋‹น ์ฐฝ์—์„œ F5๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ž…๋ ฅํ•˜๋Š” ์ƒˆ ์ฐฝ์ด ์—ด๋ฆฌ๋ฉฐ ์‹คํ–‰๋œ๋‹ค.

 

 

์ž„์˜์˜ ๊ฐ’์„ ์ž…๋ ฅํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ด๋ณด์ž.

 

 

์ฐจ๋ก€๋Œ€๋กœ ์ขŒํ‘œ๊ฐ’์„ ์ž…๋ ฅํ•œ ํ›„ ์—”ํ„ฐํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ๊ฐ’์ด ์‹ค์ˆ˜ํ˜•์œผ๋กœ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋งŒ์•ฝ ์†Œ์ˆ˜์  ์ดํ•˜๋Š” ๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?

์•„๋ž˜์™€ ๊ฐ™์ด round() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

 

๋Œ“๊ธ€