๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ/Python

ํŒŒ์ด์ฌ ๊ธฐ๋ณธํŽธ(1/2)

by - ์˜คํŠธ - 2020. 8. 27.

www.youtube.com/watch?v=kWiCuklohdY

* ์œ„ ๋งํฌ์— ์žˆ๋Š” ์˜์ƒ์„ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•˜๋ฉฐ ๊ธ€์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค

 

์„ค์น˜ ๊ณผ์ •

launch.json ํŒŒ์ผ์„ ์—ด๋ฉด(?) ์•ž์œผ๋กœ ๋””๋ฒ„๊น… ํ•  ๋•Œ ํŽธํ•˜๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ ํŒŒ์ผ์„ ์—ฌ๋Š” ๋ฐฉ๋ฒ•์ด ์Š ์ง€๋‚˜๊ฐ€์„œ ์ œ๋Œ€๋กœ ํ™•์ธํ•˜์ง€ ๋ชปํ•จ

 

 

์ •์ˆ˜, ์‹ค์ˆ˜ํ˜•, ๊ฐ„๋‹จํ•œ ์—ฐ์‚ฐ ์‹ค์Šต & ๋ฌธ์žํ˜• ์‹ค์Šต

 

boolean ํƒ€์ž…

 

๋ณ€์ˆ˜

is_adult = age >= 3   --> ๋‚˜์ด๊ฐ€ 3์‚ด ์ด์ƒ์ผ ๋•Œ ์„ฑ๊ฒฌ(?)์ด๋ผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค

print(name + "๋Š” " + str(age)) --> ์ •์ˆ˜ํ˜•(boolean ํƒ€์ž…๋„ ๋งˆ์ฐฌ๊ฐ€์ง€)์„ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์œผ๋ฉด str()๋กœ ๊ฐ์‹ธ์ค˜์•ผ ํ•œ๋‹ค

+ ํ‘œ์‹œ ๋ง๊ณ  ,(์ฝค๋งˆ) ์ด์šฉํ•ด๋„ ์ž˜ ์ถœ๋ ฅ๋œ๋‹ค(๋Œ€์‹  ๋นˆ์นธ์ด ์ค‘๊ฐ„๋งˆ๋‹ค ๋“ค์–ด๊ฐ€๊ฒŒ๋จ)

 

์ฃผ์„

ํ•œ ์ค„ ์ฃผ์„ : #print("์šฐ๋ฆฌ์ง‘ " + animal + "์˜ ์ด๋ฆ„์€ " + name + "์˜ˆ์š”") 

์—ฌ๋Ÿฌ ์ค„ ์ฃผ์„ : ... ์—ฌ๋Ÿฌ ์ค„  ... (์ด๊ฑธ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋นจ๋ฆฌ ์ง€๋‚˜๊ฐ€์„œ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค)

ctrl + / : ์ฃผ์„ ํ‘œํ˜„

 

Quiz) ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค์Œ ๋ฌธ์žฅ์„ ์ž…๋ ฅํ•˜์‹œ์˜ค

station = "์‚ฌ๋‹น"

print(station + "ํ–‰ ์—ด์ฐจ๊ฐ€ ๋“ค์–ด์˜ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.")

 

station = "์‹ ๋„๋ฆผ"

print(station + "ํ–‰ ์—ด์ฐจ๊ฐ€ ๋“ค์–ด์˜ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.")

 

station = "์ธ์ฒœ๊ณตํ•ญ"

print(station + "ํ–‰ ์—ด์ฐจ๊ฐ€ ๋“ค์–ด์˜ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.")

 

์—ฐ์‚ฐ์ž

% : ๋‚˜๋จธ์ง€ ๊ตฌํ•  ๋•Œ ์‚ฌ์šฉ// : ๋ชซ ๊ตฌํ•  ๋•Œ ์‚ฌ์šฉand(&) ์—ฐ์‚ฐ์ž : ๋‘ ์กฐ๊ฑด ๋ชจ๋‘ ๋งŒ์กฑํ•ด์•ผ ํ•จor(|) ์—ฐ์‚ฐ์ž : ๋‘ ์กฐ๊ฑด์ค‘ ํ•˜๋‚˜๋งŒ ๋งŒ์กฑํ•ด๋„ ๋จ

 

๊ฐ„๋‹จํ•œ ์ˆ˜์‹

 

 

00:36:00" 


* ์—ฌ๊ธฐ๊นŒ์ง€ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„์€ 1์‹œ๊ฐ„์ด ๋„˜์–ด๊ฐ€์ง€๋งŒ ์œ ํŠœ๋ธŒ ๊ฐ•์˜ ์ง„๋„๋Š” 30๋ถ„๋ฐ–์— ์•ˆ๋ผ์„œ ์ง„๋„๋ฅผ ํŒํŒ ๋‚ด๊ณ ์ž ์บก์ฒ˜๋Š” ์ตœ๋Œ€ํ•œ ์ƒ๋žตํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค

 

์ˆซ์ž์ฒ˜๋ฆฌ ํ•จ์ˆ˜

print(abs(-5)) # 5

print(pow(4,2)) # 4์˜ 2์Šน

print(max(5,12)) # 12  

print(min(5,12)) # 5

 

round : ๋ฐ˜์˜ฌ๋ฆผํ•จ์ˆ˜

print(round(3.14)) # 3 

print(round(4.99)) # 5 

 

from math import *

print(floor(4.99)) # ๋‚ด๋ฆผ

print(ceil(3.14)) # ์˜ฌ๋ฆผ

print(sqrt(16)) # ์ œ๊ณฑ๊ทผ ๊ตฌํ•˜๊ธฐ

 

 

๋žœ๋ค ํ•จ์ˆ˜

from random import *

print(random()) # 0.0 ~ 1.0 ๋ฏธ๋งŒ์˜ ์ž„์˜์˜ ๊ฐ’ ์ƒ์„ฑ

print(radnom() * 10) # 0.0 ~ 10.0 ๋ฏธ๋งŒ์˜ ์ž„์˜์˜ ๊ฐ’ ์ƒ์„ฑ

print(int(random()*10)) # 0 ~ 10 ๋ฏธ๋งŒ์˜ ์ž„์˜์˜ ๊ฐ’ ์ƒ์„ฑ

print(int(random()*10) + 1) # 1 ~ 10 ์ดํ•˜์˜ ์ž„์˜์˜ ๊ฐ’ ์ƒ์„ฑ

print(int(random()*45)+1) # 1 ~ 45 ์ดํ•˜์˜ ์ž„์˜์˜ ๊ฐ’ ์ƒ์„ฑ

 

print(randrange(1,46)) # 1 ~ 46 ๋ฏธ๋งŒ์˜ ์ž„์˜์˜ ๊ฐ’ ์ƒ์„ฑ

print(randint(1,45)) # 1 ~ 45 ์ดํ•˜์˜ ์ž„์˜์˜ ๊ฐ’ ์ƒ์„ฑ

 

 

Quiz) ๋‹น์‹ ์€ ์ตœ๊ทผ์— ์ฝ”๋”ฉ ์Šคํ„ฐ๋”” ๋ชจ์ž„์„ ์ƒˆ๋กœ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

from random import *

date = ranint(4, 28)

print("์˜คํ”„๋ผ์ธ ์Šคํ„ฐ๋”” ๋ชจ์ž„ ๋‚ ์งœ๋Š” ๋งค์›” " + str(date) + " ์ผ๋กœ ์„ ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")

 

 

๋ฌธ์ž์—ด

sentence = '๋‚˜๋Š” ์†Œ๋…„์ž…๋‹ˆ๋‹ค'

print(sentence)

setence2 = "ํŒŒ์ด์ฌ์€ ์‰ฌ์›Œ์š”"

print(sentence2)

 

sentence3 = """

๋‚˜๋Š” ์†Œ๋…„์ด๊ณ ,

ํŒŒ์ด์ฌ์€ ์‰ฌ์›Œ์š”

"""

print(sentence3) ---> ์ด ๋„ค์ค„์ด ์ฐํž˜

 

 

์Šฌ๋ผ์ด์‹ฑ(ํ•„์š”ํ•œ ๊ฐ’๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ)

jumin = "990120-1234567"

print("์„ฑ๋ณ„ : " + jumin[7]) ---> 1

print("์—ฐ : " + jumin[0:2(์‹ค์ œ ์ž๋ฆฟ์ˆ˜์— 1 ๋”ํ•ด์•ผ ํ•จ)]) # 0 ๋ถ€ํ„ฐ 2 ์ง์ „๊นŒ์ง€ (0, 1) ---> 99

print("์›” : " + jumin[2:4]) ---> 01

print("์ผ : " + jumin[4:6]) ---> 20

 

print("์ƒ๋…„์›”์ผ : " + jumin[0:6]) ---> 990120

print("์ƒ๋…„์›”์ผ : " + jumin[(์ƒ๋žต):6]) # ์ฒ˜์Œ๋ถ€ํ„ฐ 6 ์ง์ „๊นŒ์ง€ ---> 990120 

 

print("๋’ค 7์ž๋ฆฌ : " + jumin[7:14]) ---> 1234567

print("๋’ค 7์ž๋ฆฌ : " + jumin[7:(์ƒ๋žต)]) # 7 ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ---> 1234567 

print("๋’ค 7์ž๋ฆฌ (๋’ค์—๋ถ€ํ„ฐ) : " + jumin[-7:]) # ๋งจ ๋’ค์—์„œ 7๋ฒˆ์งธ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ---> 1234567

 

 

๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ํ•จ์ˆ˜

python = "Python is Amazing"

print(python.lower()) - ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ ์†Œ๋ฌธ์ž

print(python.upper()) - ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ ๋Œ€๋ฌธ์ž

print(python[0].isupper()) - ๋Œ€๋ฌธ์ž์ธ์ง€ ๊ฒ€์‚ฌ

print(len(python)) - ๋ฌธ์ž์—ด ๊ธธ์ด

print(python.replace("Python", "Java")) - ๋ฌธ์ž์—ด ๋ณ€๊ฒฝ

 

index = python.index("n")

print(index) # python ๋ฌธ์ž์—ด ๋‚ด์˜ n์˜ ์ฒซ๋ฒˆ์งธ ์œ„์น˜ 5

index = python.index("n", index+1)

print(index) # python ๋ฌธ์ž์—ด ๋‚ด์˜ n์˜ ๋‘๋ฒˆ์งธ ์œ„์น˜ 15

 

find์™€ index์˜ ์ฐจ์ด์ 

print(python.find("Java")) # -1(์›ํ•˜๋Š” ๊ฐ’์ด ๋ณ€์ˆ˜์— ํฌํ•จ ๋˜์ง€ ์•Š์„ ๋•Œ ๋‚˜์˜ด)

print(python.index("Java")) # ์˜ค๋ฅ˜ ๋ฐœ์ƒํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ(๋ฐ”๋กœ ๋‹ค์Œ ์ค„ ๋ถ€ํ„ฐ ์ถœ๋ ฅ ์•ˆ๋จ)

 

print(python.count("n")) # n์ด ๋‚˜์˜ค๋Š” ํšŸ์ˆ˜

 

 

๋ฌธ์ž์—ด ํฌ๋งท

print("a" + "b")

print("a", "b")

 

# ๋ฐฉ๋ฒ• 1

print("๋‚˜๋Š” %d์‚ด์ž…๋‹ˆ๋‹ค." % 20) ---> ๋‚˜๋Š” 20์‚ด์ž…๋‹ˆ๋‹ค.

print("๋‚˜๋Š” %s์„ ์ข‹์•„ํ•ด์š”." % "ํŒŒ์ด์ฌ") ---> ๋‚˜๋Š” ํŒŒ์ด์ฌ์„ ์ข‹์•„ํ•ด์š”.

print("Apple ์€ %c๋กœ ์‹œ์ž‘ํ•ด์š”. " % "A")

# %s

print("๋‚˜๋Š” %s์‚ด์ž…๋‹ˆ๋‹ค." % 20) ---> ๋‚˜๋Š” 20์‚ด์ž…๋‹ˆ๋‹ค.

print("๋‚˜๋Š” %s์ƒ‰๊ณผ %s์ƒ‰์„ ์ข‹์•„ํ•ด์š”." % ("ํŒŒ๋ž€", "๋นจ๊ฐ„")) ---> ๋‚˜๋Š” ํŒŒ๋ž€์ƒ‰๊ณผ ๋นจ๊ฐ„์ƒ‰์„ ์ข‹์•„ํ•ด์š”

 

# ๋ฐฉ๋ฒ• 2

print("๋‚˜๋Š” {}์‚ด์ž…๋‹ˆ๋‹ค.".format(20)) ---> ๋‚˜๋Š” 20์‚ด์ž…๋‹ˆ๋‹ค

print("๋‚˜๋Š” {}์ƒ‰๊ณผ {}์ƒ‰์„ ์ข‹์•„ํ•ด์š”.".format("ํŒŒ๋ž€", "๋นจ๊ฐ„"))

print("๋‚˜๋Š” {0}์ƒ‰๊ณผ {1}์ƒ‰์„ ์ข‹์•„ํ•ด์š”.".format("ํŒŒ๋ž€", "๋นจ๊ฐ„")) # {0} = "ํŒŒ๋ž€", {1} = "๋นจ๊ฐ„" ---> ๋‚˜๋Š” ํŒŒ๋ž€์ƒ‰๊ณผ ๋นจ๊ฐ„์ƒ‰์„ ์ข‹์•„ํ•ด์š”

print("๋‚˜๋Š” {1}์ƒ‰๊ณผ {0}์ƒ‰์„ ์ข‹์•„ํ•ด์š”.".format("ํŒŒ๋ž€", "๋นจ๊ฐ„")) # {0} = "ํŒŒ๋ž€", {1} = "๋นจ๊ฐ„" ---> ๋‚˜๋Š” ๋นจ๊ฐ„์ƒ‰๊ณผ ํŒŒ๋ž€์ƒ‰์„ ์ข‹์•„ํ•ด์š”

 

# ๋ฐฉ๋ฒ• 3

print("๋‚˜๋Š” {age}์‚ด์ด๋ฉฐ, {color}์ƒ‰์„ ์ข‹์•„ํ•ด์š”.".format(age=20, color="๋นจ๊ฐ„"))

 

# ๋ฐฉ๋ฒ• 4(v3.6 ์ด์ƒ~)

age = 20

color = "๋นจ๊ฐ„"

print(f"๋‚˜๋Š” {age}์‚ด์ด๋ฉฐ, {color}์ƒ‰์„ ์ข‹์•„ํ•ด์š”.") ---> ๋‚˜๋Š” 20์‚ด์ด๋ฉฐ ๋นจ๊ฐ„์ƒ‰์„ ์ข‹์•„ํ•ด์š”

 

 

ํƒˆ์ถœ ๋ฌธ์ž

# \n : ์ค„๋ฐ”๊ฟˆ

print("๋ฐฑ๋ฌธ์ด ๋ถˆ์—ฌ์ผ๊ฒฌ

๋ฐฑ๊ฒฌ์ด ๋ถˆ์—ฌ์ผํƒ€") # ์˜ค๋ฅ˜ ๋ฐœ์ƒ

print("๋ฐฑ๋ฌธ์ด ๋ถˆ์—ฌ์ผ๊ฒฌ\n๋ฐฑ๊ฒฌ์ด ๋ถˆ์—ฌ์ผํƒ€")

 

# \" \' : ๋ฌธ์žฅ ๋‚ด์—์„œ ๋”ฐ์˜ดํ‘œ ์‚ฌ์šฉ

print("์ €๋Š” "๋‚˜๋„์ฝ”๋”ฉ"์ž…๋‹ˆ๋‹ค.") # ์˜ค๋ฅ˜ ๋ฐœ์ƒprint("์ €๋Š” \"๋‚˜๋„์ฝ”๋”ฉ\"์ž…๋‹ˆ๋‹ค.")

 

# \\ : ๋ฌธ์žฅ ๋‚ด์—์„œ \print("C:\\Users\\Nadocoidng\\Desktop\\PythonWorkspace>")

 

# \r : ์ปค์„œ๋ฅผ ๋งจ ์•ž์œผ๋กœ ์ด๋™print("Red Apple\rPine") # PineApple

 

# \b : ๋ฐฑ์ŠคํŽ˜์ด์Šค (ํ•œ ๊ธ€์ž ์‚ญ์ œ)

print("Redd\bApple") # RedApple

 

# \t : ํƒญ

print("Red\tApple")

 

Quiz) ์‚ฌ์ดํŠธ๋ณ„๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค

url = "http://naver.com"

my_str = url.replace("http://", "") # ๊ทœ์น™1

print(my_str)

my_str = my_str[:my_str.index(".")] # ๊ทœ์น™2

# my_str[0:5] -> 0~5 ์ง์ „๊นŒ์ง€, (0,1,2,3,4)

password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!" # ๊ทœ์น™3

print("{0} ์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” {1} ์ž…๋‹ˆ๋‹ค.".format(url, password)) ---> http://naver.com์˜ ์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” nav51! ์ž…๋‹ˆ๋‹ค

 

 

๋ฆฌ์ŠคํŠธ

subway = [10, 20, 30]

print(subway) ---> [10, 20, 30]

 

subway = ["์œ ์žฌ์„", "์กฐ์„ธํ˜ธ", "๋ฐ•๋ช…์ˆ˜"]

print(subway)

 

# ์กฐ์„ธํ˜ธ์”จ๊ฐ€ ๋ช‡ ๋ฒˆ์งธ ์นธ์— ํƒ€๊ณ  ์žˆ๋Š”๊ฐ€?

print(subway.index("์กฐ์„ธํ˜ธ")) ---> 1

 

# ํ•˜ํ•˜์”จ๊ฐ€ ๋‹ค์Œ ์ •๋ฅ˜์žฅ์—์„œ ๋‹ค์Œ ์นธ์— ํƒ

subway.append("ํ•˜ํ•˜")

print(subway)

 

# ์ •ํ˜•๋ˆ์”จ๋ฅผ ์œ ์žฌ์„ / ์กฐ์„ธํ˜ธ ์‚ฌ์ด์— ํƒœ์›Œ๋ด„

subway.insert(1, "์ •ํ˜•๋ˆ")

print(subway)

 

# ์ง€ํ•˜์ฒ ์— ์žˆ๋Š” ์‚ฌ๋žŒ์„ ํ•œ ๋ช…์”ฉ ๋’ค์—์„œ ๊บผ๋ƒ„

print(subway.pop())

print(subway)

 

# ๊ฐ™์€ ์ด๋ฆ„์˜ ์‚ฌ๋žŒ์ด ๋ช‡ ๋ช… ์žˆ๋Š”์ง€ ํ™•์ธ

subway.append("์œ ์žฌ์„")

print(subway)

print(subway.count("์œ ์žฌ์„")) # 2

 

# ์ •๋ ฌ๋„ ๊ฐ€๋Šฅ

num_list = [5,2,4,3,1]

num_list.sort()

print(num_list) # [1, 2, 3, 4, 5]

 

# ์ˆœ์„œ ๋’ค์ง‘๊ธฐ ๊ฐ€๋Šฅ

num_list.reverse()

print(num_list) # [5, 4, 3, 2, 1]

 

# ๋ชจ๋‘ ์ง€์šฐ๊ธฐ

#num_list.clear()

#print(num_list)

 

# ๋‹ค์–‘ํ•œ ์ž๋ฃŒํ˜• ํ•จ๊ป˜ ์‚ฌ์šฉ

num_list = [5,2,4,3,1]

mix_list = ["์กฐ์„ธํ˜ธ", 20, True]

#print(mix_list)

 

# ๋ฆฌ์ŠคํŠธ ํ™•์žฅ

num_list.extend(mix_list)

print(num_list)

 

 

์‚ฌ์ „

cabinet = {3:"์œ ์žฌ์„", 100:"๊น€ํƒœํ˜ธ"}

print(cabinet[3]) ---> ์œ ์žฌ์„

print(cabinet[100]) ---> ๊น€ํƒœํ˜ธ

 

print(cabinet.get(3)) ---> ์œ ์žฌ์„

print(cabinet[5]) # ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ(๋‹ค์Œ ์ค„๋ถ€ํ„ฐ ์ถœ๋ ฅ ๋ถˆ๊ฐ€๋Šฅ)

print(cabinet.get(5)) # None์ด๋ผ๊ณ  ํ•˜๊ณ  ๋‹ค์Œ ์ค„ ์ถœ๋ ฅ ํ•  ์ˆ˜ ์žˆ์Œ

print(cabinet.get(5, "์‚ฌ์šฉ ๊ฐ€๋Šฅ"))

 

print(3 in cabinet) # True

print(5 in cabinet) # False

 

cabinet = {"A-3":"์œ ์žฌ์„, "B-100":"๊น€ํƒœํ˜ธ"}

print(cabinet["A-3"])

print(cabinet["B-100"])

 

# ์ƒˆ ์†๋‹˜

print(cabinet)

cabinet["A-3"] = "๊น€์ข…๊ตญ"

cabinet["C-20"] = "์กฐ์„ธํ˜ธ"

print(cabinet) # ์œ ์žฌ์„์ด ๊น€์ข…๊ตญ์œผ๋กœ ๋ณ€๊ฒฝ

 

# ๊ฐ„ ์†๋‹˜

del cabinet["A-3"] 

print(cabinet) # "A-3" ํ‚ค ์‚ญ์ œ๋จ

 

# key ๋“ค๋งŒ ์ถœ๋ ฅ

print(cabinet.keys()) ---> dict_keys(['B-100' ,'C-20'])

 

# values ๋“ค๋งŒ ์ถœ๋ ฅ

print(cabinet.values()) ---> dict_values(['๊น€ํƒœํ˜ธ', '์กฐ์„ธํ˜ธ'])

 

# key, value ์Œ์œผ๋กœ ์ถœ๋ ฅ

print(cabinet.items())

 

# ๋ชฉ์š•ํƒ• ํ์ 

cabinet.clear()

print(cabinet)

 

 

ํŠœํ”Œ

menu = ("๋ˆ๊นŒ์Šค", "์น˜์ฆˆ๊นŒ์Šค")

print(menu[0])

print(menu[1])

 

#menu.add("์ƒ์„ ๊นŒ์Šค") # ์˜ค๋ฅ˜ ๋ฐœ์ƒ

 

#name = "๊น€์ข…๊ตญ"

#age = 20

#hobby = "์ฝ”๋”ฉ"#print(name, age, hobby)

 

name, age, hobby = ("๊น€์ข…๊ตญ, 20, "์ฝ”๋”ฉ")

 

 

์„ธํŠธ

# ์ง‘ํ•ฉ (set)

# ์ค‘๋ณต ์•ˆ๋จ, ์ˆœ์„œ ์—†์Œ

my_set = {1,2,3,3,3}

print(my_set)

 

java = {"์œ ์žฌ์„", "๊น€ํƒœํ˜ธ", "์–‘์„ธํ˜•"}

python = set(["์œ ์žฌ์„", "๋ฐ•๋ช…์ˆ˜"])

 

# ๊ต์ง‘ํ•ฉ (java ์™€ python ์„ ๋ชจ๋‘ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž)

print(java & python)

print(java.intersection(python))

 

# ํ•ฉ์ง‘ํ•ฉ (java ๋„ ํ•  ์ˆ˜ ์žˆ๊ฑฐ๋‚˜ python ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž)

print(java | python)

print(java.union(python))

 

# ์ฐจ์ง‘ํ•ฉ (java ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ python ์€ ํ•  ์ค„ ๋ชจ๋ฅด๋Š” ๊ฐœ๋ฐœ์ž)

print(java - python)

print(java.difference(python)) ---> {'์–‘์„ธํ˜•', '๊น€ํƒœํ˜ธ'}

 

# python ํ•  ์ค„ ์•„๋Š” ์‚ฌ๋žŒ์ด ๋Š˜์–ด๋‚จ

python.add("๊น€ํƒœํ˜ธ")

print(python) ---> {'๋ฐ•๋ช…์ˆ˜', '๊น€ํƒœํ˜ธ', '์œ ์žฌ์„'}

 

# java ๋ฅผ ์žŠ์—ˆ์–ด์š”

java.remove("๊น€ํƒœํ˜ธ")

 

์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋ณ€๊ฒฝ

menu = {"์ปคํ”ผ", "์šฐ์œ ", "์ฃผ์Šค"} 

print(menu, type(menu)) ---> <class 'set'>

 

menu = list(menu) 

print(menu, type(menu)) ---> <class 'list'>

 

menu = tuple(menu)

print(menu, type(menu)) ---> <class 'tuple'>

 

menu = set(menu)

print(menu, type(menu)) ---> <class 'set'>

 

 

Quiz) ๋‹น์‹ ์˜ ํ•™๊ต์—์„œ๋Š” ํŒŒ์ด์ฌ ์ฝ”๋”ฉ ๋Œ€ํšŒ๋ฅผ ์ฃผ์ตœํ•ฉ๋‹ˆ๋‹ค.

from random import *

users = (1, 21) # 1๋ถ€ํ„ฐ 20๊นŒ์ง€ ์ˆซ์ž๋ฅผ ์ƒ์„ฑ

#print(type(users))

users = list(users)

#print(type(users))

 

print(users)

shuffle(users)

print(users)

 

winners = sample(users, 4) # 4๋ช… ์ค‘์—์„œ 1๋ช…์€ ์น˜ํ‚จ, 3๋ช…์€ ์ปคํ”ผ

 

print(" -- ๋‹น์ฒจ์ž ๋ฐœํ‘œ -- ")

print("์น˜ํ‚จ ๋‹น์ฒจ์ž : {0}".format(winners[0]))

print("์น˜ํ‚จ ๋‹น์ฒจ์ž : {0}".format(winners[1:]))

print(" -- ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค -- ")

 

 

if(๋ถ„๊ธฐ)

#weather = "๋น„"

weather = input("์˜ค๋Š˜ ๋‚ ์”จ๋Š” ์–ด๋•Œ์š”? ")

 

if ์กฐ๊ฑด: 

      ์‹คํ–‰ ๋ช…๋ น๋ฌธ

 

if weather == "๋น„" or weather =="๋ˆˆ":

      print("์šฐ์‚ฐ์„ ์ฑ™๊ธฐ์„ธ์š”")

elif weather == "๋ฏธ์„ธ๋จผ์ง€":

      print("์ค€๋น„๋ฌผ ํ•„์š” ์—†์–ด์š”.")

else:

    print("์ค€๋น„๋ฌผ ํ•„์š” ์—†์–ด์š”.")

 

temp = int(input("๊ธฐ์˜จ์€ ์–ด๋•Œ์š”? "))

if 30 <= temp:   

    print("๋„ˆ๋ฌด ๋”์›Œ์š”. ๋‚˜๊ฐ€์ง€ ๋งˆ์„ธ์š”")

elif 10 <= temp and temp < 30:   

    print("๊ดœ์ฐฎ์€ ๋‚ ์”จ์—์š”")

elif 0 <= temp and temp < 10:   

    print("์™ธํˆฌ๋ฅผ ์ฑ™๊ธฐ์„ธ์š”")

else:    

   print("๋„ˆ๋ฌด ์ถ”์›Œ์š”. ๋‚˜๊ฐ€์ง€ ๋งˆ์„ธ์š”")

 

 

for

for waiting_no in [0, 1, 2, 3, 4]:

  print("๋Œ€๊ธฐ๋ฒˆํ˜ธ : {0}".format(waiting_no))

 

# randrange()

for waiting_no in range(5): # 0, 1, 2, 3, 4

  print("๋Œ€๊ธฐ๋ฒˆํ˜ธ : {0}".format(waiting_no))

์ฐธ๊ณ ) range(1, 6) # 1, 2, 3, 4, 5

 

starbucks = ["์•„์ด์–ธ๋งจ", "ํ† ๋ฅด", "์•„์ด์—  ๊ทธ๋ฃจํŠธ"]

for customer in starbucks:  print("{0}, ์ปคํ”ผ๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.".format(customer))

 

 

while

customer = "ํ† ๋ฅด"

index = 5

while index >= 1:

  print("{0}, ์ปคํ”ผ๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. {1} ๋ฒˆ ๋‚จ์•˜์–ด์š”.".format(customer, index))

  index -= 1

  if index == 0:

     print("์ปคํ”ผ๋Š” ํ๊ธฐ์ฒ˜๋ถ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค")

 

customer = "์•„์ด์–ธ๋งจ"

index = 1

while True:

    print("{0}, ์ปคํ”ผ๊ฐ€ ์ค€๋น„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ถœ {1} ํšŒ".format(customer))

    index += 1

๋ฌดํ•œ๋ฃจํ”„ -> Ctrl + c : ๊ฐ•์ œ์ข…๋ฃŒํ•˜๋ฉด ๋จ

 

customer = "ํ† ๋ฅด"

person = "Unknown"

 

while person != customer : 

    print("{0}, ์ปคํ”ผ๊ฐ€ ์ค€๋น„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.".format(customer))

    person = input("์ด๋ฆ„์ด ์–ด๋–ป๊ฒŒ ๋˜์„ธ์š”?")

 

 

continue์™€ break

absent = [2, 5] # ๊ฒฐ์„

no_book = [7] # ์ฑ…์„ ๊นœ๋นกํ–ˆ์Œ

for student in range(1, 11): # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

    if student in absent:

        continue # ๊ฒฐ์„ํ•œ ํ•™์ƒ ๋ฒˆํ˜ธ๋ฅผ ๋งŒ๋‚˜๋ฉด skipํ•˜๊ณ  ๋‹ค์‹œ for๋ฌธ์œผ๋กœ ๋Œ์•„๊ฐ

    elif student in no_book:

        print("์˜ค๋Š˜ ์ˆ˜์—… ์—ฌ๊ธฐ๊นŒ์ง€. {0}์€ ๊ต๋ฌด์‹ค๋กœ ๋”ฐ๋ผ์™€.".format(student))

        break

    print("{0}, ์ฑ…์„ ์ฝ์–ด๋ด".format(student))

 

 

ํ•œ ์ค„ for

# ์ถœ์„๋ฒˆํ˜ธ๊ฐ€ 1 2 3 4, ์•ž์— 100์„ ๋ถ™์ด๊ธฐ๋กœ ํ•จ -> 101, 102, 103, 104.

students = [1,2,3,4,5]

print(students)

students = [i+100 for i in studnets]

 

# ํ•™์ƒ ์ด๋ฆ„์„ ๊ธธ์ด๋กœ ๋ณ€ํ™˜

students = ["Iron man", "Thor", "I am groot"]

stduents = [len(i) for i in students]

print(students) ---> [8, 4, 10]

 

# ํ•™์ƒ ์ด๋ฆ„์„ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜

students = ["Iron man", "Thor", "I am groot"]

students = [i.upper() for in students]

print(students)

 

 

Quiz) ๋‹น์‹ ์€ Cocoa ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋Š” ํƒ์‹œ ๊ธฐ์‚ฌ๋‹˜์ž…๋‹ˆ๋‹ค.

from random import *

cnt = 0 # ์ด ํƒ‘์Šน ์Šน๊ฐ ์ˆ˜

for i in range(1, 51): # 1 ~ 50 ์ด๋ผ๋Š” ์ˆ˜ (์Šน๊ฐ)

    time = randrange(5, 51) # 5๋ถ„ ~ 50๋ถ„ ์†Œ์š” ์‹œ๊ฐ„

    if 5 <= time <= 15: # 5๋ถ„ ~ 15๋ถ„ ์ด๋‚ด์˜ ์†๋‹˜(๋งค์นญ ์„ฑ๊ณต), ํƒ‘์Šน ์Šน๊ฐ ์ˆ˜ ์ฆ๊ฐ€ ์ฒ˜๋ฆฌ

        print("[0] {0}๋ฒˆ์งธ ์†๋‹˜ (์†Œ์š”์‹œ๊ฐ„ : {1}๋ถ„)".format(i, time))

        cnt += 1

    else: # ๋งค์นญ ์‹คํŒจํ•œ ๊ฒฝ์šฐ

        print("[ ] {0}๋ฒˆ์งธ ์†๋‹˜ (์†Œ์š”์‹œ๊ฐ„ : {1}๋ถ„)".format(i, time))

 

print("์ด ํƒ‘์Šน ์Šน๊ฐ : {0} ๋ถ„".format(cnt))

- ์ด ๋ถ€๋ถ„์€ ์ข€ ๋” ๊ณต๋ถ€ํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์Œ

 

 

ํ•จ์ˆ˜

def open_account():

    print("์ƒˆ๋กœ์šด ๊ณ„์ขŒ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")

 

open_account()

 

 

์ „๋‹ฌ๊ฐ’๊ณผ ๋ฐ˜ํ™˜๊ฐ’

def deposit(balance, money): # ์ž…๊ธˆ

    print("์ž…๊ธˆ์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž”์•ก์€ {0} ์›์ž…๋‹ˆ๋‹ค.".format(balance + money))

    return balance + money

 

def withdraw(balance, money):

    if balance >= money : # ์ž”์•ก์ด ์ถœ๊ธˆ๋ณด๋‹ค ๋งŽ์œผ๋ฉด

        print("์ถœ๊ธˆ์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž”์•ก์€ {0} ์›์ž…๋‹ˆ๋‹ค.".format(balance - money))

        return balance - money

    else:

        print("์ถœ๊ธˆ์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ž”์•ก์€ {0} ์›์ž…๋‹ˆ๋‹ค.".format(balance))

        return balance

 

def withdraw_night(balance, money): # ์ €๋…์— ์ถœ๊ธˆ   

commission = 100 # ์ˆ˜์ˆ˜๋ฃŒ 100์›   

return commission, balance - money - commission

 

balance = 0 # ์ž”์•ก

balance = deposit(balance, 1000)

balance = withdraw(balance, 500)

commission, balance = withdraw_night(balance, 500)

print("์ˆ˜์ˆ˜๋ฃŒ {0} ์›์ด๋ฉฐ, ์ž”์•ก์€ {1} ์›์ž…๋‹ˆ๋‹ค.".format(commission, balance))

 

 

๊ธฐ๋ณธ๊ฐ’

def profile(name, age, main_lang):

    print("์ด๋ฆ„ : {0}\t๋‚˜์ด: {1}\t์ฃผ ์‚ฌ์šฉ ์–ธ์–ด: {2}" \

        .format(name, age, main_lang))

 

profile("์œ ์žฌ์„", 20, "ํŒŒ์ด์ฌ")

profile("๊น€ํƒœํ˜ธ", 25, "์ž๋ฐ”")

 

# ๊ฐ™์€ ํ•™๊ต ๊ฐ™์€ ํ•™๋…„ ๊ฐ™์€ ๋ฐ˜ ๊ฐ™์€ ์ˆ˜์—…

def profile(name, age=17, main_lan="ํŒŒ์ด์ฌ"):

    print("์ด๋ฆ„ : {0}\t๋‚˜์ด: {1}\t์ฃผ ์‚ฌ์šฉ ์–ธ์–ด: {2}" \

        .format(name, age, main_lang))

 

profile("์œ ์žฌ์„")

profile("๊น€ํƒœํ˜ธ")

 

 

ํ‚ค์›Œ๋“œ๊ฐ’

def profile(name, age, main_lan):

    print(name, age, main_lang)

 

profile(name="์œ ์žฌ์„", main_lang="ํŒŒ์ด์ฌ", age=20)

profile(main_lang="์ž๋ฐ”", age=25, name="๊น€ํƒœํ˜ธ")

 

 

๊ฐ€๋ณ€ ์ธ์ž

def profile(name, age, lang1, lang2, lang3, lang4, lang5):

    print("์ด๋ฆ„: {0}]\t๋‚˜์ด: {1}\t.format(name, age), end=" ") # ๋ฌธ์žฅ์ด ๋๋‚˜๋„ ์ค„๋ฐ”๊ฟˆ ํ•˜์ง€ ์•Š์Œ

    print(lang1, lang2, lang3, lang4, lang5)

profile("์œ ์žฌ์„", 20, "Python", "Java", "C", "C++", "C#")

profile("๊น€ํƒœํ˜ธ", 23, "Kotlin", "Swift", "", "", "") # ๋งค๋ฒˆ ์ด๋ ‡๊ฒŒ ์„ค์ •ํ•˜๊ธฐ๋Š” ๊ท€์ฐฎ์Œ

 

def profile(name, age, *language): # ๊ฐ€๋ณ€ ์ธ์ž

    print("์ด๋ฆ„: {0}]\t๋‚˜์ด: {1}\t.format(name, age), end=" ") # ๋ฌธ์žฅ์ด ๋๋‚˜๋„ ์ค„๋ฐ”๊ฟˆ ํ•˜์ง€ ์•Š์Œ

    for lang in language:

        print(lang, end=" ")

    print()

       

profile("์œ ์žฌ์„", 20, "Python", "Java", "C", "C++", "C#")

profile("๊น€ํƒœํ˜ธ", 23, "Kotlin", "Swift") 

 

 

์ง€์—ญ ๋ณ€์ˆ˜์™€ ์ „์—ญ ๋ณ€์ˆ˜

gun = 10 # ์ „์—ญ๋ณ€์ˆ˜

 

def checkpoint(soldiers): # ๊ฒฝ๊ณ„๊ทผ๋ฌด

    gun = 20 # ์ง€์—ญ๋ณ€์ˆ˜

    global gun # ์ „์—ญ ๊ณต๊ฐ„์— ์žˆ๋Š” gun ์‚ฌ์šฉ

    gun = gun - soldiers

    print("[ํ•จ์ˆ˜ ๋‚ด] ๋‚จ์€ ์ด : {0}".format(gun))

 

def checkpoint_ret(gun, soldiers):

    gun = gun - soldiers

    print("[ํ•จ์ˆ˜ ๋‚ด] ๋‚จ์€ ์ด : {0}".format(gun))

    return gun

 

print("์ „์ฒด ์ด : {0}".format(gun))

# checkpoint(2) # 2๋ช…์ด ๊ฒฝ๊ณ„ ๊ทผ๋ฌด ๋‚˜๊ฐ

gun = checkpoint_ret(gun, 2)

print("๋‚จ์€ ์ด : {0}".format(gun))

 

 

Quiz) ํ‘œ์ค€ ์ฒด์ค‘์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค

def std_weight(height, gender): # ํ‚ค m ๋‹จ์œ„ (์‹ค์ˆ˜), ์„ฑ๋ณ„ "๋‚จ์ž" / "์—ฌ์ž"

    if gender == "๋‚จ์ž":

        return height * height * 22

    else:

        return height * height * 21

 

height = 175 # cm ๋‹จ์œ„

gender = "๋‚จ์ž"

weight = round(std_weight(height / 100, gender), 2) # ์†Œ์ˆ˜์  ์…‹์งธ ์งœ๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผ

print("ํ‚ค {0}cm {1}์˜ ํ‘œ์ค€ ์ฒด์ค‘์€ {2}kg ์ž…๋‹ˆ๋‹ค.".format(height, gender, weight))

 

- ์ด ๋ถ€๋ถ„์€ ์ข€ ๋” ๊ณต๋ถ€ํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์Œ

 

 

ํ‘œ์ค€ ์ž…์ถœ๋ ฅ

print("Python", "Java", "JavaScript", sep=" vs ") ---> Python vs Java vs JavaScript

print("Python", "Java", sep=",", end="?")

print("๋ฌด์—‡์ด ๋” ์žฌ๋ฐŒ์„๊นŒ์š”?") # ๋‘ ๋ฌธ์žฅ์ด ํ•œ ์ค„์— ๋‚˜์˜จ๋‹ค

 

import sys

print("Python", "Java", file=sys.stdout) # ํ‘œ์ค€ ์ถœ๋ ฅ

print("Python", "Java", file=sys.stdderr) # ํ‘œ์ค€ ์—๋Ÿฌ

 

# ์‹œํ—˜ ์„ฑ์ 

scores = {"์ˆ˜ํ•™":0, "์˜์–ด":50, "์ฝ”๋”ฉ":100}

for subject, score in scores.items():

    #print(subject, score)

    print(subject.ljust(8), str(score).rjust(4), sep=":") # 8์นธ์„ ํ™•๋ณดํ•˜๋ฉด์„œ ์™ผ์ชฝ ์ •๋ ฌ / 4์นธ์˜ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜๋ฉฐ ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ

 

# ์€ํ–‰ ๋Œ€๊ธฐ์ˆœ๋ฒˆํ‘œ

# 001, 002, 003, ...

for num in range(1, 21): 

    print("๋Œ€๊ธฐ๋ฒˆํ˜ธ : " + str(num).zfill(3)) # 3์นธ์„ ํ™•๋ณดํ•˜๋ฉด์„œ ๋นˆ ๊ณต๊ฐ„์€ 0์œผ๋กœ ์ฑ„์šด๋‹ค

 

3:08:00"