1. % μ°μ°μ
- 3κ°μ§ λ°©λ² μ€, κ°μ₯ μ€λλ λ°©μμΌλ‘ μ΄μ λ μ μ°μ§ μλ μλ λ°©μμ μν¨(κ·Έλλ μμλμ)
μ½λ | μ€λͺ |
%s | λ¬Έμμ΄(String) |
%c | λ¬Έμ 1κ°(character) |
%d | μ μ(Integer, d : decimal) |
%f | λΆλμμ(floating-point) |
%o | 8μ§μ |
%x | 16μ§μ |
%% | Literal % (λ¬Έμ % μ체) |
# example code
# %d : μ μν
print('%d' %(3)) # 3
print('%d' %(3.529)) # 3 -> μ£Όμ: μ€μλ₯Ό λ£μ΄λ, λ²λ¦Όμ νκ³ μ μλ§ μΆλ ₯!
print('%d %d' % (1, 2)) # 1 2
# %f : μ€μν
print('%f' % 3.14) # 3.14000 -> κΈ°λ³Έ : μμμ μ΄ν 5μ리κΉμ§ μΆλ ₯
print('%.3f' %(3.14)) # 3.140 -> μμμ λͺμ리 κΉμ§ νμν μ§ . λ€μ μ«μλ₯Ό λΆμ΄λ©΄ λλ€ (3μ리)
print('%.2f' %(3.149)) # 3.15 -> μλμΌλ‘ λ°μ¬λ¦Όλλ€ μ μνκΈ°!
# %c (character) : νκΈμλ§ κ°λ₯
print("character!! %c" %('a')) # character!! a
print("character!! %c" %('abcd')) # TypeError: %c requires int or char
# %s : λ¬Έμμ΄
my_str = 'My name is %s' % 'Dona'
print(my_str) # My name is Dona
# μ¬λ¬ κ° μΌλλ κ΄νΈ
print("μ λ %sμ %sλ₯Ό μν©λλ€." % ("JAVA","Python"))
2. format λ©μλ
- μ΄λ€ νμ μ΄λ κ΄μ©μ μΌλ‘ λ°μλ€μ¬ λ§μ΄ μ¬μ©ν¨
- μμμ μ리 μ μΆλ ₯ μ μ - μλ μ½λμμ νμΈ
## example code
# λͺ¨λ κ°λ₯! μ΄λ€ νμ
μ΄λ κ΄μ©μ μΌλ‘ λ°μλ€μΈλ€!
print('Welcome to {}'.format("Python")) # string
print('Welcome to {}'.format(2)) # int
print('Welcome to {}'.format(3.141592)) # float
print('Welcome to {}'.format('a')) # char
#λ³μλͺ
μΌλ‘ λμ
κ°λ₯
print('μ€λμ {month}μ {day}μΌ μ
λλ€. {month}μμ κ°μ μ λ¬μ
λλ€.'.format(month = 5, day = 10))
# out : μ€λμ 5μ 10μΌ μ
λλ€. 5μμ κ°μ μ λ¬μ
λλ€.
## μ¬λ¬ κ°μΌ κ²½μ° μ½€λ§(,)λ‘ κ΅¬λΆνμ¬ λ£μ΄μ€λ€.
name = "dona"
age = 32
print("μ μ΄λ¦μ {}μ΄κ³ {}μ΄μ
λλ€.".format(name, age))
print('Welcome to {}, {}, {}'.format('python', '3.9', 'μ’μμ!'))
# μ¬λ¬ κ° - μμλ₯Ό μ§μ νμ¬ μ¬μ©νκΈ° : μΈλ±μ€ κ°μ λ§κ² λμ
λμ κ²°κ³Ό κ°μ΄ μΆλ ₯λλ€.
print("μ λ {1}, {0}, {2}λ₯Ό μ’μν©λλ€.".format('apple','orange','watermelon'))
# out : μ λ orange, apple, watermelonλ₯Ό μ’μν©λλ€.
print('{1} x {0} = {2}'.format(2, 3, 2*3)) # 3 x 2 = 6
print('{0} x {1} = {2}'.format(2, 3, 2*3)) # 2 x 3 = 6
# -----------------------------------------------------------------
'''
{}.format()μμ μμλμ΄μΌν ν - μμμ μΆλ ₯
* :.nd μ΅μ
(d : decimal μ μ)
- nμ μ΄ μλ¦Ώμμ κ°―μ
ex) '{:03d}'.format(int)
- μ«μ 3μ리λ₯Ό λ§μΆ°λΌ. λΉμ리λ 0μΌλ‘ μ±μλΌ!
- 3μ리μ΄μμ΄λ©΄ X, μλμλλ§ 0μΌλ‘ μ±μ΄λ€!
* :.nf μ΅μ
(f : float μ€μ)
'''
print('λ΄κ° μ’μνλ μνλ {:03d}'.format(7)) # 007
print('λ΄κ° μ’μνλ μνλ {:0d}'.format(7)) # 7
print('λ΄κ° μ’μνλ μνλ {:07d}'.format(7)) # 0000007
print('λ΄κ° μ’μνλ μνλ {:03d}'.format(70)) # 070
print('λ΄κ° μ’μνλ μνλ {:03d}'.format(707)) # 707
print('λ΄κ° μ’μνλ μνλ {:03d}'.format(7078)) # 7078
print('-'*25)
# μμμ float ν΅μ
print('μμ£Όμ¨? {}'.format(3.141598)) # 3.141598 : μ 체 print
print('μμ£Όμ¨? {:.2f}'.format(3.141598)) # 3.14 : μμμ 2μ리μ(λ°μ¬λ¦Ό)
print('μμ£Όμ¨? {:.3f}'.format(3.141598)) # 3.142 : μμμ 3μ리μ(λ°μ¬λ¦Ό)
# λ°μ¬λ¦Ό νμΈ
print('3.149 λ°μ¬λ¦Ό? {:.2f}'.format(3.1491598)) # 3.15
3. f-string
- python 3.6λΆν° μλ‘κ² λμ¨ λ°©μ
- μ§κ΄μ μ΄λΌμ λ§μ΄ μ¬μ©ν¨
## example code
# λ³μλͺ
μΌλ‘ λμ
κ°λ₯
birth = "4μ 14μΌ"
print(f"μ μ μμΌμ {birth}μ
λλ€.") # μ μ μμΌμ 4μ 14μΌμ
λλ€.
name = "dona"
age = 20
print(f"μ μ΄λ¦μ {name}μ΄κ³ {age}μ΄μ
λλ€.") # out : μ μ΄λ¦μ donaμ΄κ³ 20μ΄μ
λλ€.
print(f"{name}λ λ΄λ
μ {age+1}μ΄μ΄μμ!") # μ°μ°λ κ°λ₯ν¨! out : donaλ λ΄λ
μ 21μ΄μ΄μμ!
μ°μ΅λ¬Έμ μΆμ² - λ°±μ€ 3053 [νμ κΈ°νν]
π Problem
https://www.acmicpc.net/problem/3053
π Submission Code
ν΄λΉ λ¬Έμ λ λ¬Έμ μ체λ μ¬μ°λ μΆλ ₯κ°μ 보면, μμμ 6μ리κΉμ§ κ·Έλ¦¬κ³ λ°μ¬λ¦Όμ μ μ©ν΄μΌ ν μ μλ λ¬Έμ μ΄λ€.
μ€λ λ°°μ΄ 3κ°μ§ caseλ₯Ό λ¬Έμ μ μ μ©νμ¬ νμ΄ν μ μλ€. format λ©μλλ₯Ό μ¬μ©ν λ°©λ²μ΄ κ·Όμνμ§λ§ κ°μ₯ λλ Έλ€. π
(μ»΄ν¨ν°μ λ°λΌ λ€λ₯Ό μ μκ³ , μμ£Ό ν° μ°¨μ΄λ μλκΈ΄ν¨!)
'''
λ°μ§λ¦ Rμ΄ μ£Όμ΄μ‘μ λ, μ ν΄λ¦¬λ κΈ°ννμμ μμ λμ΄μ, νμ κΈ°ννμμ μμ λμ΄λ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ ν΄λ¦¬λ κΈ°ννμ μ λμ΄ : PI * r^2
νμ κΈ°ννμ μ λμ΄ : 2 * r^2
'''
# case 1 : f-string - λ©λͺ¨λ¦¬ 32976KB / μκ° 68ms
import math
PI = math.pi
R = int(input())
print(f"{PI*R*R:.6f}")
print(f"{2*R*R:.6f}")
# case 2 : %f - λ©λͺ¨λ¦¬ 32976KB / μκ° 68ms
import math
PI = math.pi
R = int(input())
print("%.6f" % (PI*R*R))
print("%.6f" % (2*R*R))
# case 3 : format - λ©λͺ¨λ¦¬ 32976KB / μκ° 72ms
import math
PI = math.pi
R = int(input())
print("{:.6f}".format(PI*R*R))
print("{:.6f}".format(2*R*R))
Reference
- 02- 2 λ¬Έμμ΄ μλ£ν - μ ν ν¬ νμ΄μ¬ : μμ κ°μΆ πππ
- μΈ μ°Έκ³ ν κΈ°μ΄ κ°μ μ¬μ΄νΈ urlμ [python] (0) OT : My Python Timeline ν¬μ€ν μ μμ΅λλ€. π