ํŒŒ์ด์ฌ

    [Python] ๋ณ€์ˆ˜ Scope (์ „์—ญ ๋ณ€์ˆ˜์™€ ์ง€์—ญ ๋ณ€์ˆ˜) ์— ๋Œ€ํ•œ ์ดํ•ด

    ์˜ˆ์‹œ 1 _list = [1, 2, 3, 4] def sum_all(): sum_val = 0 for elem in _list: sum_val += elem return sum_val total_sum = sum_all() print(total_sum) print(sum_val) 10 NameError: name 'sum_val' is not defined ์ „์—ญ ๋ณ€์ˆ˜๋Š” ๊ตณ์ด ์ธ์ž๋กœ ๋„˜๊ธฐ์ง€ ์•Š์•„๋„ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ž˜ ์ž‘๋™ํ•œ๋‹ค. ์ฆ‰, ์ „์—ญ ๋ณ€์ˆ˜๋Š” ์–ด๋””์—์„œ๋‚˜ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ๋‚ด๋ถ€ Scope๋ฅผ ๋ฒ—์–ด๋‚˜๋ฉด ์ฆ๋ฐœํ•˜์—ฌ ๋” ์ด์ƒ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. ์ฆ‰, ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ์–ด๋””์—์„œ๋‚˜ ์“ธ ์ˆ˜ ์—†๋‹ค. ์˜ˆ์‹œ 2 ์ฝ”๋“œ 1. _list = [1, 2, 3, 4] def modify(): _list[0] = 10 modify() f..

    [Python] ์กฐ๊ฑด๋ฌธ

    ์กฐ๊ฑด๋ฌธ ๊ฐœ๋… ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๊ฒฝ์šฐ์—๋งŒ ์ฝ”๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์“ฐ๋Š”, ๋งค์šฐ ์ค‘์š”ํ•œ ๋ฌธ๋ฒ•์ด๋‹ค. if ์กฐ๊ฑด๋ฌธ if ์กฐ๊ฑด์‹์„ ๋งŒ์กฑํ•  ๊ฒฝ์šฐ, if๋ฌธ์˜ ๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. if ์กฐ๊ฑด์‹: ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ๊ฒฝ์šฐ ์ˆ˜ํ–‰๋˜๋Š” ์ฝ”๋“œ ์˜์—ญ python์—์„œ if๋ฌธ์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ ์€ ๋“ค์—ฌ์“ฐ๊ธฐ๋‹ค. indent๋ฅผ ํ•ญ์ƒ ์ •ํ™•ํžˆ ๋งž์ถฐ์ฃผ์–ด์•ผ ํ•œ๋‹ค. a = int(input()) b = int(input()) if a >= 1 and b >= 1: a += 3 b += 5 print(f"a = {a}, b = {b}") โ–ผ ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ๊ฒฐ๊ณผ >> 1 >> 2 a = 4, b = 7 (TIP) if ์กฐ๊ฑด๋ฌธ์—์„œ and๋กœ ์—ฐ๊ฒฐ๋œ ์•ž์˜ ์กฐ๊ฑด์‹์ด False์ด๋ฉด, ๋’ค์˜ ์กฐ๊ฑด์‹์€ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰ ๋’ท ์กฐ๊ฑด์‹์ด ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ์ฝ”๋“œ์—ฌ๋„ ์•ž ์กฐ๊ฑด..

    [Python] ์‚ฌ์น™์—ฐ์‚ฐ์„ ์œ„ํ•œ ์—ฐ์‚ฐ์ž

    ์‚ฌ์น™์—ฐ์‚ฐ ์ˆ˜ํ•™์ฒ˜๋Ÿผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋„ ์‚ฌ์น™์—ฐ์‚ฐ์ด ์ž์ฃผ ์“ฐ์ธ๋‹ค. + : ๋”ํ•˜๊ธฐ ์—ฐ์‚ฐ - : ๋นผ๊ธฐ ์—ฐ์‚ฐ * : ๊ณฑํ•˜๊ธฐ ์—ฐ์‚ฐ / : ๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ / ์—ฐ์‚ฐ์˜ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋Š” ํ•ญ์ƒ ์‹ค์ˆ˜๊ฐ’์ด๋‹ค. a = 3 / 1 print(a) # 3.0 // : ๋‚˜๋ˆ„๊ธฐ - ๋ชซ ์—ฐ์‚ฐ % : ๋‚˜๋ˆ„๊ธฐ - ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ ** : ์ œ๊ณฑ ์—ฐ์‚ฐ a, b = 3, 2 print(a**b) # a^b ์ •์ˆ˜์™€ ์‹ค์ˆ˜๊ฐ€ ๋งŒ๋‚˜๋ฉด ๊ฒฐ๊ณผ๊ฐ’์€ ์‹ค์ˆ˜๊ฐ€ ๋œ๋‹ค. ์‚ฌ์น™์—ฐ์‚ฐ ๊ณ„์‚ฐ ์‹œ type์€ ๋” ํฐ ๋ฒ”์œ„๋ฅผ ๋”ฐ๋ผ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. a = 1 + 1.0 print(a) # 2.0 ์‚ฌ์น™์—ฐ์‚ฐ ๊ฐ„๋žตํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ a = a + 5 ์œ„์™€ ๊ฐ™์ด ๋™์ผํ•œ ๊ฐ’์— ๋ณ€ํ™”๋ฅผ ์ฃผ๋Š” ์‚ฌ์น™์—ฐ์‚ฐ์€ ์•„๋ž˜์ฒ˜๋Ÿผ ๊ฐ„๋žตํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. a += 5 ์‚ฌ์šฉ ์˜ˆ์‹œ a, b = 10, 4 a += 5 # a = a +..

    [Python] Call by Assignment ์ดํ•ดํ•˜๊ธฐ

    Python์€ ํ•จ์ˆ˜์— ์ธ์ˆ˜๋ฅผ ์ „๋‹ฌํ•  ๋•Œ Call by Assignment ๋ฐฉ์‹์œผ๋กœ ์ „๋‹ฌ๋œ๋‹ค. ์ด ๋ง์€ ๋ฌด์Šจ ์˜๋ฏธ์ผ๊นŒ? mutable VS immutable ์šฐ์„  mutable๊ณผ immutable์˜ ๊ฐœ๋…๋ถ€ํ„ฐ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ฉด, python์—์„  ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ์ฒด์ด๋ฉฐ ์ด 2๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค. immutable ๊ฐ์ฒด : ๊ฐ’์ด ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด int, float, str, tuple ๋“ฑ mutable ๊ฐ์ฒด : ๊ฐ’์ด ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด (๋‹จ, ์ž์‹ ์˜ id๊ฐ’์€ ์ผ์ •ํ•˜๊ฒŒ ์œ ์ง€) list, dictonary, set ๋“ฑ Python์—์„œ์˜ Call By Value VS Call By Reference immutable ๊ฐ์ฒด๊ฐ€ ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜๋ฉด ๋งˆ์น˜ ๊ฐ’์ด ๋ณต์‚ฌ๋˜์–ด ์ „๋‹ฌ๋˜๋Š” Call By Value์ฒ˜๋Ÿผ ๋™์ž‘ํ•œ๋‹ค. (์›๋ณธ๊ฐ’ ..

    [Python] ํŒŒ์ด์ฌ ์ž…๋ ฅ ํ•จ์ˆ˜ input ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ

    ๊ธฐ๋ณธ ์ž…๋ ฅ ๋ฐฉ๋ฒ• python์—์„  input()ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํ•œ ์ค„ ๋‹จ์œ„๋กœ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. a = input() print(f"a = {a}") โ–ผ ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ๊ฒฐ๊ณผ >> Hello World a = Hello World >> 4 a = 4 (์ด๋•Œ 4๋Š” ๋ฌธ์ž์—ด "4"์ด๋‹ค.) ๋ฌธ์ž์—ด์ด ์•„๋‹Œ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•์œผ๋กœ ์ž…๋ ฅ ๋ฐ›๊ธฐ input()ํ•จ์ˆ˜๋กœ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ, ์ž…๋ ฅ๊ฐ’์˜ ์ž๋ฃŒํ˜•์ด ์ •์ˆ˜๋‚˜ ์‹ค์ˆ˜์—ฌ๋„ ๋ฌธ์ž์—ด๋กœ ์ธ์‹๋œ๋‹ค. b = input() print(b + 1) โ–ผ ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ๊ฒฐ๊ณผ >> 4 ----> 4 print(b + 1) TypeError: can only concatenate str (not "int") to str ๋ฌธ์ž์—ด์— ์ˆซ์ž๋ฅผ ๋”ํ•  ์ˆœ ์—†์œผ๋ฏ€๋กœ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด..

    [Python] ํŒŒ์ด์ฌ ์ถœ๋ ฅ ํ•จ์ˆ˜ print ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ

    ๊ธฐ๋ณธ ์ถœ๋ ฅ ๋ฐฉ๋ฒ• print ํ•จ์ˆ˜ ํ†ตํ•ด ํ•œ ๋ฌธ์žฅ ์ถœ๋ ฅํ•˜๊ธฐ python3์—์„œ ๋ฌธ์žฅ์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด print()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋•Œ ๊ด„ํ˜ธ ๋‚ด์— ํฐ ๋”ฐ์˜ดํ‘œ๋‚˜ ์ž‘์€ ๋”ฐ์˜ดํ‘œ ๋‘˜ ์ค‘ ์•„๋ฌด๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค. python์—์„  ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์–ด๋„ ๋ฌธ์ž๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž์—ด๋กœ ์ธ์‹ํ•œ๋‹ค. (python์—์„  ๋ฌธ์ž ๊ฐœ๋…์ด ์—†๋‹ค.) print("Hello World") print('Hello World') โ–ผ ์ถœ๋ ฅ ๊ฒฐ๊ณผ Hello World Hello World ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ํฌํ•จ์‹œ์ผœ ์ถœ๋ ฅํ•˜๊ธฐ ๋ฌธ์ž์—ด ๋‚ด์— ์žˆ๋Š” ํŠน์ˆ˜ ๋ฌธ์ž ์•ž์— \๋ฅผ ๋ถ™์—ฌ์ฃผ๋ฉด, ์ด๋ฅผ ๊ธฐํ˜ธ๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž๋กœ ์ธ์‹ํ•œ๋‹ค. (์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋ฏ€๋กœ ๊ธฐ์–ตํ•˜์ž) print("Let\'s do it") - " , ' ๋ฅผ ํฌํ•จ์‹œํ‚ฌ ๋•Œ, """ ๋˜๋Š” ''' ๋กœ ์ „์ฒด ๋ฌธ์žฅ์„ ๊ฐ์‹ธ๋Š” ๋ฐฉ๋ฒ•..

    [ํŒŒ์ด์ฌ] ๊ธฐ์–ต๋ ฅ ํ…Œ์ŠคํŠธ ๊ฒŒ์ž„ ์ œ์ž‘ ๋ณด๋ฉด์„œ ๋”ฐ๋ผ ๋งŒ๋“ค๊ธฐ (pygame) - ์™„์„ฑ ๋ฐ ํ›„๊ธฐ

    [ํŒŒ์ด์ฌ] ๊ธฐ์–ต๋ ฅ ํ…Œ์ŠคํŠธ ๊ฒŒ์ž„ ์ œ์ž‘ ๋ณด๋ฉด์„œ ๋”ฐ๋ผ ๋งŒ๋“ค๊ธฐ (pygame) - ์™„์„ฑ ๋ฐ ํ›„๊ธฐ

    ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ต์œก ์œ ํŠœ๋ฒ„ '๋‚˜๋„ ์ฝ”๋”ฉ' ๋‹˜์˜ ์ƒˆ๋กœ์šด ๊ฐ•์ขŒ ๋‚ด์šฉ์ด pygame์„ ์ด์šฉํ•œ ๊ธฐ์–ต๋ ฅ ํ…Œ์ŠคํŠธ ๊ฒŒ์ž„์ด์—ˆ๋Š”๋ฐ ๋งˆ์นจ ์ œ๊ฐ€ ๋งŒ๋“ค์–ด ํ•˜๊ณ  ์‹ถ์–ดํ•˜๋Š” ๊ฒŒ์ž„๊ณผ ๋น„์Šทํ•ด์„œ ๋ฐ”๋กœ ๊ฐ•์˜ ๋“ค์œผ๋ฉฐ ์ฝ”๋”ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ดํ‹€์— ๊ฑธ์ณ์„œ ์™„์„ฑํ–ˆ๊ณ , ๊ฐ•์˜์—์„œ ํ•˜์ง€ ์•Š์€ ์˜ต์…˜๋„ ์ถ”๊ฐ€ํ•ด๋ดค์Šต๋‹ˆ๋‹ค! 1. ๊ฒŒ์ž„ ํ”Œ๋ ˆ์ด ์˜์ƒ youtu.be/yvzWmZtHnuI ๊ฒŒ์ž„ ๊ทœ์น™์„ 3์ค„๋กœ ์š”์•ฝํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1. ํ™”๋ฉด์— ๋ณด์ด๋Š” ์ˆซ์ž์˜ ์œ„์น˜๋ฅผ ๋ชจ๋“  ์™ธ์šด ํ›„ ์ˆœ์„œ๋Œ€๋กœ ํด๋ฆญํ•œ๋‹ค. 2. ์ˆซ์ž๋Š” 1๋ฒˆ ์นธ์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ์ผ์ •์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๊ฐ€๋ ค์ง„๋‹ค. 3. ์ˆซ์ž๋Š” ๋žœ๋ค์œผ๋กœ ๋ฐฐ์น˜ ๋˜๋ฉฐ, ํ‹€๋ฆฌ๋ฉด ํ•ด๋‹น ๋ ˆ๋ฒจ์— ์žฌ๋„์ „ํ•˜๊ฒŒ ๋˜๊ณ  3๋ฒˆ ํ‹€๋ฆฌ๋ฉด ๊ฒŒ์ž„ ์˜ค๋ฒ„๋‹ค. ํ•œ ๋ฒˆ ํ•ด๋ณด๊ณ  ์‹ถ์œผ์‹œ๋ฉด ์ œ๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊นƒํ—ˆ๋ธŒ์— ์˜ฌ๋ ค๋‘์—ˆ์œผ๋‹ˆ ๊ฐ€์…”์„œ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜์‹  ํ›„ ์—๋””ํ„ฐ ์•„๋ฌด๋ฐ๋‚˜์— ๋ณต๋ถ™ํ•˜์‹œ..

    [ํŒŒ์ด์ฌ] ์˜ค๋ฝ์‹ค ๊ฒŒ์ž„ ์ œ์ž‘ ๋ณด๋ฉด์„œ ๋”ฐ๋ผ ๋งŒ๋“ค๊ธฐ (pygame) - (1) ๊ธฐ๋ณธ ๊ณผ์ • (์˜ˆ์ œ ์—ฐ์Šต, ๊ธฐ๋ณธ ํ‹€)

    ์ด ๊ธ€์€ '๋‚˜๋„์ฝ”๋”ฉ'๋‹˜์˜ 'ํŒŒ์ด์ฌ ์ฝ”๋”ฉ ๋ฌด๋ฃŒ ๊ฐ•์˜ (ํ™œ์šฉํŽธ1) - ์ถ”์–ต์˜ ์˜ค๋ฝ์‹ค ๊ฒŒ์ž„์„ ๋งŒ๋“ค์–ด ๋ณด์•„์š”. 3์‹œ๊ฐ„์ด๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.' ๊ฐ•์˜๋ฅผ ๋ณด๊ณ  ๋”ฐ๋ผ ๋งŒ๋“  ๋‚ด์šฉ์„ ๊ธฐ๋กํ•ด๋†“์€ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋จผ์ € ๊ฐ•์˜ ์˜์ƒ์˜ ์ฒซ 1์‹œ๊ฐ„์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ๊ฐ™์ด ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๋‚จ๊ฒจ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ์ด๋ฒคํŠธ ๋ฃจํ”„ ๋ถ€๋ถ„ ์ฝ”๋“œ ๋‚ด์šฉ์ด ์•„์ง ์ข€ ํ—ท๊ฐˆ๋ฆฌ๋„ค์š” import pygame ################################################################## pygame.init() # ์ดˆ๊ธฐํ™” (๋ฐ˜๋“œ์‹œ ํ•„์š”) # ํ™”๋ฉด ํฌ๊ธฐ ์„ค์ • screen_width = 480 # ๊ฐ€๋กœ ํฌ๊ธฐ screen_height = 640 # ์„ธ๋กœ ํฌ๊ธฐ screen = pygame.display.set_mode((screen_widt..