Python Basic For Hacker (1)

์—˜ยท2023๋…„ 6์›” 2์ผ
0
post-thumbnail

๐Ÿ’ป ๋…ธ๋งํ‹ฑ ํŒŒ์ด์ฌ ๋ฒ ์ด์ง_1

python ์–ธ์–ด๋ž€?

  • ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด

VS code์—์„œ ํŒŒ์ด์ฌ ์‹คํ–‰ํ•˜๊ธฐ

๋น„์ฅฌ์–ผ ์ฝ”๋“œ์—์„œ ํŒŒ์ด์ฌ ์ฝ”๋“œ๊ฐ€ ์™œ ์‹คํ–‰์ด ์•ˆ๋ฌ๋Š”์ง€ ์ดํ•ด๊ฐ€ ์•ˆ๋ฌ์—ˆ๋Š”๋ฐ Terminal ์—์„œ ํŒŒ์ผ๋ช…์„ ์ž…๋ ฅํ•ด์ค˜์•ผ ์‹คํ–‰์ด ๋ฌ๋˜ ๊ฒƒ์ด๋‹ค... + ๋‚˜ ์™œ run ๋ชป ์ฐพ์•˜๋‚˜

mission 1

name = input('์ด๋ฆ„์„ ๋ง์”€ํ•ด์ฃผ์„ธ์š” : ')
print("์•ˆ๋…•ํ•˜์„ธ์š”~! ์ข‹์€ ์•„์นจ์ž…๋‹ˆ๋‹ค! "+name+"๋‹˜!")
print("์ €๋Š” ๊ณผ์ผ ์ข‹์•„ํ•˜๋Š”๋ฐ!")
fruit = input("์ข‹์•„ํ•˜๋Š” ๊ณผ์ผ ์žˆ์œผ์„ธ์š”? : ")
print("์•„ํ•˜~ "+fruit+"๋ผ๋Š” ๊ณผ์ผ์„ ์ข‹์•„ํ•˜์‹œ๋Š”๊ตฐ์š”!")
print("์ œ๊ฐ€ ๋ฐ”๋กœ! "+fruit+"์ค€๋น„ ํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!")

์•„์ง ๋‚˜๋งŒ์˜ ์ธ๊ณต๋น„์„œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ์ด ์นœ๊ตฌ๊ฐ€ ๋งŽ์ด ๋ฉ์ฒญํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ด์„œ ์กฐ๊ธˆ ๋” ๋ฐœ์ „์‹œ์ผœ์•ผ์ง€!

mission 1์—์„œ๋Š” input ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ฐ’์„ ๋ฐ›์•„์™€ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ž์™€ ๋ฌธ์ž๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ๋Š” + ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  • ํŒŒ์ด์ฌ์€ ๋ฐ์ดํ„ฐ ์œ ํ˜•๋งˆ๋‹ค ์—ฐ์‚ฐ์ด ๋‹ค๋ฆ„ ์ฃผ์˜!

๋ฆฌ์ŠคํŠธ

๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•  ๋•Œ ์‚ฌ์šฉ. ์ž…๋ ฅ๊ฐ’์„ ๋ฐ”๋กœ ๋ฆฌ์ŠคํŠธ์— ๋„ฃ์„ ์ˆ˜๋Š” ์—†๊ณ  ๋ณ€์ˆ˜์— ๋„ฃ์€ ๋‹ค์Œ ๊ทธ ๋ณ€์ˆ˜๋ฅผ ๋ฆฌ์ŠคํŠธ์— ๋„ฃ๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•˜๋‹ค.
append ๋ฆฌ์ŠคํŠธ์— ๋ณ€์ˆ˜ ์ถ”๊ฐ€
remove ๋ฆฌ์ŠคํŠธ ๋ณ€์ˆ˜ ์‚ญ์ œ

mission 2

dataList=[] # ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ

addData = input('์ด๋ฆ„์„ ๋ง์”€ํ•ด์ฃผ์„ธ์š” : ')
dataList.append(addData) # ๋ฆฌ์ŠคํŠธ์— ์ž…๋ ฅ๊ฐ’ ์ถ”๊ฐ€
print("์•ˆ๋…•ํ•˜์„ธ์š”~! ์ข‹์€ ์•„์นจ์ž…๋‹ˆ๋‹ค! "+dataList[0]+"๋‹˜!")
print("์ €๋Š” ๊ณผ์ผ ์ข‹์•„ํ•˜๋Š”๋ฐ!")
addData = input("์ข‹์•„ํ•˜๋Š” ๊ณผ์ผ ์žˆ์œผ์„ธ์š”? : ")
dataList.append(addData)
print("์•„ํ•˜~ "+dataList[1]+"๋ผ๋Š” ๊ณผ์ผ์„ ์ข‹์•„ํ•˜์‹œ๋Š”๊ตฐ์š”!")
print("์ œ๊ฐ€ ๋ฐ”๋กœ! "+dataList[1]+"์ค€๋น„ ํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!")

key์™€ value๋กœ ์ž๋ฃŒ ๊ด€๋ฆฌ

data = {"name":"el","fruit":"banana"}

del(data["fruit"])	# ๋ฐ์ดํ„ฐ ์‚ญ์ œ
data["name"] = "mario" # ๋ฐ์ดํ„ฐ ์ˆ˜์ •

Indent๋ž€?

# ์ฝ”๋“œ ์•ž ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ๋งํ•จ!
num1 = 100

if(num1 > 10):
    print("num1์€ 100๋ณด๋‹ค ํฝ๋‹ˆ๋‹ค.")

mission 3

dataList=[]
name = input('์ด๋ฆ„์„ ๋ง์”€ํ•ด์ฃผ์„ธ์š” : ')
dataList.append(name)
print("์•ˆ๋…•ํ•˜์„ธ์š”~! ์ข‹์€ ์•„์นจ์ž…๋‹ˆ๋‹ค! "+["name"]+"๋‹˜!")
print("์ €๋Š” ๊ณผ์ผ ์ข‹์•„ํ•˜๋Š”๋ฐ!")
fruit = input("์ข‹์•„ํ•˜๋Š” ๊ณผ์ผ ์žˆ์œผ์„ธ์š”? : ")
dataList.append(fruit)
print("์•„ํ•˜~ "+["fruit"]+"๋ผ๋Š” ๊ณผ์ผ์„ ์ข‹์•„ํ•˜์‹œ๋Š”๊ตฐ์š”!")
print("์ œ๊ฐ€ ๋ฐ”๋กœ! "+["fruit"]+"์ค€๋น„ ํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!")

๋ฆฌ์ŠคํŠธ ๋‚ด ์ˆœ์„œ๊ฐ€ ์•„๋‹Œ, ๋ณ€์ˆ˜๋ช…์˜ ํ˜ธ์ถœ๋กœ ์กฐ๊ธˆ ๋” ์ฝ”๋“œ๋ฅผ "๊ฐ€์‹œ์ "์œผ๋กœ ๋ณด์ด๊ฒŒ ํ•˜๊ธฐ!

mission 4

score = int(input("์ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” : "))

if(score == 100):
    print("์ž˜ํ–ˆ์–ด์š”~")
elif(score >= 80):
    print("๊ดœ์ฐฎ์•„์š”~")
elif(score >= 40):
    print("๋…ธ๋ ฅํ•ด์š”~")
else:
    print("๊ณต๋ถ€ ์•ˆํ–ˆ๋‹ˆ? ๋ถ€๋ชจ๋‹˜ ๋ชจ์…”์™€.")

๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. str ํ˜•์‹์„ int ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

์˜ˆ์™ธ ์ฒ˜๋ฆฌ

try:
	(์˜ˆ์™ธ๊ฐ€ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ)
except:
	(์˜ˆ์™ธ๊ฐ€ ์ผ์–ด๋‚ฌ์„ ๋•Œ ์‹คํ–‰ํ•˜๋Š” ์ฝ”๋“œ)
try:
    score = int(input("ํ˜„์žฌ ์ ์ˆ˜: "))
except:
    print("์ ์ˆ˜๋Š” ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.")
    exit() # except ์‹คํ–‰ ์‹œ print ๊ตฌ๋ฌธ ์ถœ๋ ฅ ํ›„ ์ข…๋ฃŒ

exit ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹คํ–‰ ๊ตฌ๋ฌธ์„ ๊ณ„์† ์ด์–ด๋‚˜๊ฐ€๋ ค๋ฉด try ํ›„ ์‹คํ–‰ํ•  ๊ตฌ๋ฌธ์„ try ๊ตฌ๋ฌธ ๋‚ด์— ์‚ฝ์ž…ํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™์ด ๋œ๋‹ค.

mission 5

while(True):
    comment = input("๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” : ")
    len_data = len(comment)

    if(len_data >= 10):
        print("comment is wrong!")
        continue

    print(comment + " ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์…จ์Šต๋‹ˆ๋‹ค.")
    
    if(comment == "exit"):
        break

์…ธ์„ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์ธ๋ฐ "mission5 ๊ฐ™์ด ๋ณด๊ธฐ ์˜์ƒ"์—์„œ ์ฝ”๋“œ๋ฅผ ์กฐ๊ธˆ ๋” ๋‹ค๋“ฌ์–ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์•„ ์ฐธ๊ณ ํ•˜์—ฌ ์ˆ˜์ •ํ•ด๋ณด์•˜๋‹ค.

print("๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” : ")

while(True):
    cmd = input("> ") # ๊บฝ์‡  ํ‘œ์‹œ๋กœ ์ž…๋ ฅ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋Š” ์ค„ ํ‘œ์‹œ
    len_data = len(cmd)

    if(len_data >= 10):
        print("๋ช…๋ น์–ด๊ฐ€ ์ž˜๋ชป ์ž…๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")
        continue

    if(cmd == "exit"):
        break
        
    # print ๋ฌธ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ” exit ์ž…๋ ฅ ์‹œ print ๊ตฌ๋ฌธ ์ถœ๋ ฅ ์—†์ด ๋ฐ”๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋„๋ก ์„ค์ •
    print(cmd + " ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์…จ์Šต๋‹ˆ๋‹ค.")

FOR RANGE

  • ์ดํ„ฐ๋ ˆ์ดํ„ฐ(iterator) : ๊ฐ’์„ ์ฐจ๋ก€๋Œ€๋กœ ๊บผ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด. ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ iter() ์‚ฌ์šฉ
for num in range(1,11):
    print(num)

mission 6

for i in range(1,101):
    if(i%2==0):
        print(str(i) + " : ์ง์ˆ˜")
    else:
        print(str(i) + " : ํ™€์ˆ˜")

๐Ÿค ์ฐธ์กฐ

profile
ํ™”์ดํŠธํ•ด์ปค ๊ฟˆ๋‚˜๋ฌด ์—˜์ž…๋‹ˆ๋‹ค๐Ÿ˜‰

0๊ฐœ์˜ ๋Œ“๊ธ€