๋ฐ๋ณต๋ฌธ
1. for๋ฌธ
list, tuple, set ์๋ฃํ์ ์์๋ค๋ก ๋ฐ๋ณต๋ฌธ ์ฌ์ฉ ๊ฐ๋ฅ
enumerate : ๋ฐ๋ณต๋๋ ์์๊ฐ ๋ช๋ฒ์งธ์ธ์ง ํ์ธํ ์ ์๋ค.
members = ["lee", "park", "kim"]
for i, member in enumerate(members):
print(f"{member}๋ {i}๋ฒ์งธ ํ์์
๋๋ค.")
# result print
"""
lee๋ 0๋ฒ์งธ ํ์์
๋๋ค.
park๋ 1๋ฒ์งธ ํ์์
๋๋ค.
kim๋ 2๋ฒ์งธ ํ์์
๋๋ค.
"""
๋ง์ฝ
for i in numbers:
i๋ฅผ ์์ด๋ค๋ฉด i ๋์ _๋ฅผ ์ฌ์ฉํ๋ค.
for _ in numbers:
์ง ~
dictionary
๊ทธ๋ฅ ๋๋ฆฌ๋ฉด ํค๋ง ๋์ค๊ณ , value๋ฅผ ์ฐ๊ณ ์ถ์ผ๋ฉด .values()๋ฅผ ํ๋ฉด value๊ฐ ๋์ค๊ณ
๋ ๋ค ๋์์ผ๋ฉด ์ข๊ฒ ์ผ๋ฉด .items()
products = {
"bread": 1000,
"milk": 3000,
"egg": 6000,
"drink": 1500
}
for k in products: # key๋ง ์ฌ์ฉํ ๋
print(k)
for v in products.values(): # value๋ง ์ฌ์ฉํ ๋
print(v)
for k, v in products.items(): # key, value ๋ชจ๋ ์ฌ์ฉํ ๋
print(k, v)
# result print
"""
bread
milk
egg
drink
1000
3000
6000
1500
bread 1000
milk 3000
egg 6000
drink 1500
"""
range()
์ํ๋ ๋งํผ ๋ฐ๋ณต๋ฌธ ์ฌ์ฉ ๊ฐ๋ฅ
range(1:10)์ 1๋ถํฐ 9๊น์ง์ด๋ค. 10์ ํฌํจ ์๋จ
# range์ ์ง์ ํ ๊ฐ๋งํผ ๋ฐ๋ณต๋๋ฉฐ, i์๋ 0๋ถํฐ ์ง์ ํ ๊ฐ-1๊น์ง์ ๊ฐ์ด ํ ๋น๋ฉ๋๋ค.
for i in range(5):
print(i)
# result print
"""
0
1
2
3
4
"""
continue
์๋ฌด๋ฐ ๋์๋ ํ์ง ์๊ณ ๋ค์ for๋ฌธ์ผ๋ก ๋์ด๊ฐ๋ค!
numbers = [24, 75, 12, 54, 30, 70, 99]
for number in numbers:
if number <= 50: # number๊ฐ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ
continue # ์๋ฌด๋ฐ ๋์๋ ํ์ง ์๊ณ ๋ค์์ผ๋ก ๋์ด๊ฐ
print(f"{number}๋ 50๋ณด๋ค ํฐ ์ซ์์
๋๋ค!")
# result print
"""
75๋ 50๋ณด๋ค ํฐ ์ซ์์
๋๋ค!
54๋ 50๋ณด๋ค ํฐ ์ซ์์
๋๋ค!
70๋ 50๋ณด๋ค ํฐ ์ซ์์
๋๋ค!
99๋ 50๋ณด๋ค ํฐ ์ซ์์
๋๋ค!
"""
break
๋ฐ๋ณต๋ฌธ ์ค์ง์ํจ๋ค
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
for number in numbers:
if number >= 4: # number๊ฐ 4๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ
break # ๋ฐ๋ณต๋ฌธ์ ์ค์ง
print(number)
# result print
"""
1
2
3
"""
2. while๋ฌธ
for๋ฌธ์ด๋ ๋น์ทํ์ง๋ง ์กฐ๊ฑด์ ๋ค๋ฃจ๋ ๋ฐฉ์์์ ์ฐจ์ด๊ฐ์๋ค.
while "์กฐ๊ฑด":
"์ํํ ์ฝ๋"
์ฐธ์ด๋ฉด ๊ณ์ ๋์๊ฐ๋ค.
while True:
print("hello world")
ํ๋ฉด hello world๊ฐ ๊ณ์ ์ ์ ใ ์ ์ ์ ์ฐํ๋ค.(๋ฌดํ๋ฃจํ)
for๋ฌธ์ ๋ฐ๋ณตํ์๊ฐ ์ ํด์ ธ์์๋
while์ ๋ฐ๋ณตํ์๊ฐ ์ ํด์ ธ์์ง ์์๋
while True:
user_input = input("๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์. ์ข
๋ฃ : 0") # ์ฌ์ฉ์์ input์ ๋ฐ๋ ํจ์
if user_input == "0":
break
print(f"{user_input}๋ฒ์ ์
๋ ฅํ์
จ์ต๋๋ค!")
์์ฃผ ์ฌ์ฉ๋๋ ๋ชจ๋ ๋ฐ ํจํด
1. type
์๋ฃํ ํ์ธ
integer = 10
float_ = 1.23
string = "hello world!!"
list_ = [1, 2, 3]
tuple_ = (1, 2, 3)
set_ = {1, 2, 3}
dictionary = {"key": "value"}
boolean = True
print(type(integer)) # <class 'int'>
print(type(float_)) # <class 'float'>
print(type(string)) # <class 'str'>
print(type(list_)) # <class 'list'>
print(type(tuple_)) # <class 'tuple'>
print(type(set_)) # <class 'set'>
print(type(dictionary)) # <class 'dict'>
print(type(boolean)) # <class 'bool'>
2. split() / string
# split์ string.split("๊ตฌ๋ถ์")๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
string = "hello/python/world!!"
string_list = string.split("/") # split() ์์ ๋ค์ด๊ฐ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์๋ฅผ ๋๋๋ค.
print(string_list) # ['hello', 'python', 'world!!']
3. join() / list
๋ฆฌ์คํธ๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊ฟ์ค๋ค
join์ "์ฌ์ด์ ๋ค์ด๊ฐ ๋ฌธ์".join(๋ฆฌ์คํธ)
๊ทธ๋ฌ๋ฉด ๋ฆฌ์คํธ์ฌ์ด์ ๋ฌธ์๋ฅผ ๋ฃ์ด์ ๋ฌธ์์ด๋ก ๋ฐ๊ฟ์ค๋ค!
4. replace
์ผ์ชฝ์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฐ๊ฟ์ค๋ค
5.pprint
์์๋ณด๊ธฐ ์ฝ๊ฒ ์ถ๋ ฅํด์ค๋ค
์น์์ ๋ฐ์ดํฐ ๊ฐ์ง๊ณ ์ฌ ๋(ํฌ๋กค๋ง) ๋ง์ด ์ฐ์
# pprint๋ pretty print์ ์ฝ์์ด๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ๋ ์์๊ฒ ์ถ๋ ฅํด ์ค๋ค.
from pprint import pprint
sample_data = {
"id": "0001",
"type": "donut",
"name": "Cake",
"ppu": 0.55,
"batters":
{
"batter":
[
{"id": "1001", "type": "Regular"},
{"id": "1002", "type": "Chocolate"},
{"id": "1003", "type": "Blueberry"},
{"id": "1004", "type": "Devil's Food"}
]
},
"topping":
[
{"id": "5001", "type": "None"},
{"id": "5002", "type": "Glazed"},
{"id": "5005", "type": "Sugar"},
{"id": "5007", "type": "Powdered Sugar"},
{"id": "5006", "type": "Chocolate with Sprinkles"},
{"id": "5003", "type": "Chocolate"},
{"id": "5004", "type": "Maple"}
]
}
pprint(sample_data) # print๋ก ์ถ๋ ฅํ์ ๋์ ๊ฒฐ๊ณผ ๋น๊ตํด ๋ณด๊ธฐ!!
6. random
๋์ ์์ฑ, ์์์ ๋ฒํธ ์์ฑ ๋ฑ ๋๋คํ ๋์์ด ํ์ํ ๋ ์ฌ์ฉ
.randint(1,3) #3์ ํฌํจ
.randrange(1,3) #3์ ํฌํจ ์ํจ
6. time
# ํจ์์ ์คํ ์๊ฐ์ ์ธก์ ํ๋ ๋ฑ ์๊ฐ์ ๋ค๋ฃฐ ๋ ์ฌ์ฉ๋๋ ๋ชจ๋์ด๋ค.
import time
start_time = time.time() # ํ์ฌ ์๊ฐ ์ ์ฅ
time.sleep(1) # 1์ด๊ฐ ๋๊ธฐ
end_time = time.time()
# ์ฝ๋๊ฐ ์ข
๋ฃ๋ ์๊ฐ - ์ฝ๋๊ฐ ์์๋ ์๊ฐ์ผ๋ก ์คํ ์๊ฐ ๊ตฌํ๊ธฐ (๋จ์ : ์ด)
print(f"์ฝ๋ ์คํ ์๊ฐ : {end_time-start_time:.5f}") # ์ฝ๋ ์คํ ์๊ฐ : 1.00100
7.datetime
from datetime import datetime, timedelta
# ํ์ฌ ๋ ์ง ๋ฐ ์๊ฐ ์ถ๋ ฅ
print(datetime.now()) # 2022-09-04 03:55:32.277095
# datetime์ format code, ๋ ์ ์ธํ๊ฑด ์ฌ๊ธฐ
'''
%y : ๋ ์๋ฆฌ ์ฐ๋ / 20, 21, 22
%Y : ๋ค ์๋ฆฌ ์ฐ๋ / 2020, 2021, 2022
%m : ๋ ์๋ฆฌ ์ / 01, 02 ... 11 ,12
%d : ๋ ์๋ฆฌ ์ผ / 01, 02 ... 30, 31
%I : 12์๊ฐ์ ์๊ฐ / 01, 02 ... 12
%H : 24์๊ฐ์ ์ ์๊ฐ / 00, 01 ... 23
%M : ๋ ์๋ฆฌ ๋ถ / 00, 01 ... 58, 59
%S : ๋ ์๋ฆฌ ์ด / 00, 01 ... 58, 59
'''
# string์ datetime ๋ ์ง๋ก ๋ณ๊ฒฝํ๊ธฐ
string_datetime = "22/12/25 13:20"
datetime_ = datetime.strptime(string_datetime, "%y/%m/%d %H:%M")
print(datetime_) # 2022-12-25 13:20:00
# datetime ๋ ์ง๋ฅผ string์ผ๋ก ๋ณํํ๊ธฐ
now = datetime.now()
string_datetime = datetime.strftime(now, "%y/%m/%d %H:%M:%S")
print(string_datetime) # 22/09/04 04:04
# 3์ผ ์ ๋ ์ง ๊ตฌํ๊ธฐ
three_days_ago = datetime.now() - timedelta(days=3)
print(three_days_ago) # 2022-09-01 04:07:48.526502โ
๋ก๋๋ฒํธ ๋ฝ์๋ณด์!!
import random
lotto = set() # lotto ๋ณ์๋ฅผ set ์๋ฃํ์ผ๋ก ์ ์ธ
def get_lotto_number(count):
result = []
if count < 1:
print("1 ์ด์์ ๊ฐ์ ์
๋ ฅํด์ฃผ์ธ์")
for _ in range(count): # count๋งํผ ๋ฐ๋ณตํด์ ์คํ
lotto = set()
while len(lotto) < 8: # lotto์ ์์ ๊ฐฏ์๊ฐ 8 ์ดํ์ผ ๊ฒฝ์ฐ ๊ณ์ํด์ ๋ฐ๋ณต
lotto.add(random.randint(1, 45)) # lotto์ 1~45 ์ฌ์ด์ ๋๋ค ๊ฐ์ ์
๋ ฅ
result.append(lotto)
return result
lotto_numbers = get_lotto_number(10)
print(lotto_numbers)
# result print
"""
[
{1, 3, 4, 6, 9, 44, 18, 22, 26},
{2, 5, 9, 11, 44, 45, 19, 23, 28},
{1, 4, 39, 41, 16, 18, 27, 29, 31},
{2, 5, 8, 9, 14, 20, 22, 24, 31},
{33, 37, 6, 40, 41, 42, 19, 30, 31},
{33, 1, 36, 8, 41, 9, 17, 24, 30},
{5, 39, 41, 10, 12, 16, 23, 25, 26},
{3, 35, 37, 11, 14, 17, 19, 20, 30},
{33, 35, 3, 11, 43, 15, 16, 27, 30},
{33, 36, 38, 6, 43, 24, 25, 30, 31}
]
"""
# ๋๋ค ๊ฐ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ฝ๋๋ฅผ ์คํํ ๋๋ง๋ค ๊ฒฐ๊ณผ๋ ๋ฌ๋ผ์ง๋๋ค.
'๐๐ช > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Python ํน๊ฐ (4) (class, mutable/immutable) (0) | 2022.09.13 |
---|---|
์ซ์ ์ผ๊ตฌ๊ฒ์ ๋ง๋ค๊ธฐ (0) | 2022.09.11 |
22. 09. 06 ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ (0) | 2022.09.06 |
Python ํน๊ฐ (2) (0) | 2022.09.06 |
Python ํน๊ฐ (1) (0) | 2022.09.05 |
๋๊ธ