Python

[파이썬] 기초 입출력 및 문자열 포맷팅(%) 하는 법

paintover23 2023. 10. 17. 15:51
728x90

 

파이썬 첫 진도를 시작하였다. 자바스크립트와는 어떤  차이점이 있을 지 비교하면서 학습하면 도움이 될 것 같다. Colab 사이트는 설치 없이 웹에서 파이썬 스크립트를 작성할 수 있게 도와주는 서비스로, 학습하는 동안 편리하게 이용하였다: 

https://colab.research.google.com/?hl=ko

 

Google Colaboratory

 

colab.research.google.com

 

[1. 문자열 포맷팅 ]

- %s : string, 문자열

- %d: digit, 정수형 숫자

- %f: floating point, 실수형 숫자

 

[예제1]

b= 128.8+38-222.4764
print(b) # -55.6764
print('%d' %b) # -55 (%d = 정수 타입으로 출력)

a = 2/3
print(a) # 0.6666666666666666
print('%.2f' %a) # 0.67 (%2f= 소수 이하 두자리까지 표시)

포맷팅은 '타입'을 지정하고 해당 타입과 매칭되는 변수를 입력하면 된다. 위의 예제에서 소수점으로 끝나는 수를 정수 타입으로 출력하기 위해 '%d'와, 이것이 적용되는 변수명(%변수명)를 입력하니 정수가 출력되었다. 혹여 소수점 n번째자리까지만 실수를 표시하고 싶은 경우에는  '%.nf'와 같이 작성하고 마찬가지로 적용되는 변수명 '%변수명'을 입력하면 된다. 

 

[예제2]

color = '빨강'
r= '나는 %s을 좋아합니다.' % color # 나는 빨강을 좋아합니다
print(r)

color = "초록"
r= '나는 %s을 좋아합니다' % color # 나는 초록을 좋아합니다
print(r)

 

[예제3: bmi 지수 구하기]

포맷팅과 형변환을 활용해 bmi 지수를 구하는 예제를 실습해보자.

h = int(input("키:")) # 키 정수 변환
w= float(input("몸무게:")) # 몸무게 실수변환

bmi= w/(h*h) *10000 #0.00245675...가 나오기 때문에 만을 곱해준다
print('%.2f' %bmi)

여기서 input()은 사용자한테 입력을 받는 input 값으로 '문자열'로 계산된다.

즉, 계산을 위해서는 int를 추가하여 정수로 형변환을 따로 해줘야 한다.

 

[예제4]

a = 77
b= '자전거'
c= 3.3737737
d=90
print('%d, %s, %.2f, %d%%, %6s, %5d' %(a,b,c,d,b,a))

# 77, 자전거, 3.37, 90%,    자전거,    77

# 변수가 2개 부터는 % 다음에()안에 써줘야 함: %(a,b,c,d,b,a)
# a의 정수형
# b의 문자열
# c의 소수점2자리 실수
# d뒤에 %기호 자체를 나타내는 데 사용
# b를 6자리 문자열로 출력
# a를 5자리 정수로 출력

 

[2. 문자열 반복 연산자: * ]

a= 'blue'*5
print(a) # blueblueblueblueblue
print('='*30) # ==============================

 

 

[3. 문자열의 길이: len]

message = '안녕하세요!'
str_len = len(message) #길이: len
print('문자열의 길이: ' + str(str_len)) # 문자열의 길이: 6

# 타입 다르면 에러 날수있어 형변환

자바스크립트에서는 length 였던 메소드가 파이썬에서는 len 으로 표현된다. print할 때 괄호안의 형식이 문자와 숫자가 섞여 있으면 에러 나는 것을 방지하기 위해 하나로 통일 시켜준다. 때문에 위 코드에서는 str(str_leng)이 사용되었다.

 

[4. 화면에 출력하기: print(), sep을 이용한 출력]

a=10
print(a)

b=20
print(a+b)

print(a+10, b+10) # 20 30 콤마 치면 한칸 띄어져서 출력됨
hp1 ='010'
hp2 ='1234'
hp3 = '5678'

print(hp1, hp2, hp3, sep ="-") # 010-1234-5678 3개 사이에 sep(Separator)로 "-"

 

[5. 거듭 제곱 구하기]

e = 2**3
print(e)
# 2의 3승은 8

파이썬을 이용하면 거듭제곱을 구할 수 있다. ** 표시를 연달아 입력해준다.

728x90
반응형