-
16 - f-문자열study with Q - 파이썬 2024. 2. 22. 19:07
#f-문자열
- format() 함수를 더 간단하게 사용할 수 있음
- 문자열 앞에 f를 붙여서 만든고, 문자열 내부에 표현식을 {}괄호로 감싸서 삽입함
- f"문자열{표현식}문자열"
- 여러줄 문자열에서도 쓸 수 있다. (기억나니? 따옴표 3개로 했던 거)
#format() 함수를 f-문자열로 써보자 print("{} + {} = {}".format(x,y,x+y)) >>>2 + 5 = 7 print(f"{x} + {y} = {x+y}") >>>2 + 5 = 7 print() print("{}+{}={}".format(x,y,x+y)) >>>2+5=7 print(f"{x}+{y}={x+y}") >>>2+5=7 print() #f-문자열에 줄바꿈을 넣어보자 print(f"""{x}+{y}={x+y} {x}-{y}={x-y} {x}*{y}={x*y} {x}/{y}={x/y} {x}//{y}={x//y} {x}%{y}={x%y} {x}**{y}={x**y}\ """) >>> 2+5=7 2-5=-3 2*5=10 2/5=0.4 2//5=0 2%5=2 2**5=32
- 함수 형태에 조금 더 익숙해지기 위해서 format함수도 병행해서 써보...는 것도 좋지만 뭐 취향껏 쓰쇼
- f-문자열보다 formar()함수를 사용하는 것이 더 좋은 경우
format()함수가 더 취향일 때 ♡- 전개 연산자를 사용할 때 #이건 나중에 배울 거임
- f-문자열보다 formar()함수를 사용하는 것이 더 좋은 경우
# 확인문제
1. 다음 format 함수 중 오류가 발생하는 경우를 고르시오.
① "{} {}".format(52,273)
② "{} {}".format(52, type(273))
③ "{} {} {}".format(52, type(273))
④ "{}".format(52,273)더보기정답
③
해설
③은 (중괄호의 개수)>(매개변수의 개수)이므로 IndexError가 발생한다.
print("①", "{}{}".format(52,273)) >>>① 52273 print("②", "{} {}".format(52, type(273))) >>>② 52 <class 'int'> print("④", "{}".format(52,273)) >>>④ 52
3. 다음 코드의 빈칸을 채워서 실행 결과처럼 출력하시오.
a=input(">1번째 숫자: ")
b=input(">2번째 숫자: ")
print()
print("{}+{}={}".format( ))실행결과
>1번째 숫자: 100
>2번째 숫자 : 200
100 + 200 = 300더보기정답
print("{}+{}={}".format(a, b, int(a)+int(b)))
해설
a, b가 문자열이기 때문에 정수(또는 부동소수점)으로 바꾸는 함수가 들어가야 한다.
유사정답
print("{}+{}={}".format(int(a), int(b), int(a)+int(b)))
: 정답은 되지만 식이 불필요하게 길어짐
오답
print("{}+{}={}".format(a, b, a+b)) 100 + 200 = 100200 : a, b가 문자열이기 때문에 +로 연결시 a에 해당하는 문자열과 b에 해당하는 문자열이 연속으로 나옴.
# 도전문제
1. 구의 부피와 겉넓이를 구하는 프로그램을 오른쪽과 같이 출력값이 나오도록 만드시오. (단, 원주율은 3.141592로 계산한다.)
구의 반지름을 r이라고 할 때
부피 : 43πr3
겉넓이 : 4πr2구의 반지름을 입력해주세요: 5
구의 부피는 523.5986666666666입니다.
구의 겉넓이는 314.1592입니다.더보기정답
pi = 3.141592 r = input("구의 반지름을 입력해주세요: ") print("구의 부피는 {}입니다.".format((4/3)*pi*float(r)**3)) print("구의 겉넓이는 {}입니다.".format(4*pi*float(r)**2))
다른 정답
#입력 rad = input("구의 반지름을 입력해주세요: ") rad = float(rad) #처리 부피 = (4/3)*pi*(rad**3) 겉넓이 = 4*pi*(rad**2) #출력 print(f"구의 부피는 {부피}입니다") print(f"구의 부피는 {겉넓이}입니다")
해설
input ()함수는 문자열로 나오기 때문에 부동소수점으로 고쳐주는 작업이 필요함.
2. 피타고라스의 정리
피타고라스의 정리는 직각삼각형의 밑변, 높이, 빗변의 관계를 나타내는 공식입니다. 다음 공식에 따라 파이썬으로 밑변과 높이를 입력하면 빗변의 길이를 구하는 프로그램을 만드시오.
빗변의 길이의 c, 다른 두 변의 길이를 a, b라 할 때,
c=√(a2+b2)빗변의 길이 : 3.0
높이의 길이 : 4.0
= 빗변의 길이는 5.0 입니다.더보기정답
#입력 a = input("밑변: ") b = input("높이: ") a = float(a) b = float(b) #처리 c = ((a**2)+(b**2))**(1/2) #출력 print (f"밑변의 길이 : {a}") print (f"높이의 길이 : {b}") print (f"빗변의 길이는 {c}입니다.")
'study with Q - 파이썬' 카테고리의 다른 글
18 - 백준 (0) 2024.02.28 17 - 파괴적 연산과 비파괴적 연산 (0) 2024.02.26 15 - format 함수 (0) 2024.02.22 13, 14 - input 함수 (0) 2024.02.18 12 - 변수와 복합대입연산자 (0) 2024.02.18