파이썬/파이썬 입문 공부일지

파이썬 공부일지 9. 숫자 · 문자열 함수!

Tomitom 2022. 10. 11. 18:07
반응형

수업은 끝났으나 자습이 남아 있습니다. 8시간 내리 수업을 듣는 것보다,

지금까지 들었던 수업들을 정리할 수 있는 시간이 있다는 것이 얼마나 감사한 일인지 모르겠어요. 

누군가에게 배우는 것도 중요하지만 자기의 것으로 만드는 과정도 참 중요한 것이겠죠... . 힘내봅니다... ...

 

이번에는 숫자와 문자열의 다양한 기능에 대해서 배워볼게요. 

 

 format ()

대표적으로 문자열의 format() 함수가 있습니다. 

중괄호{} 를 포함한 문자열 뒤에 마침표 . 를 찍고 format() 함수를 사용합니다. 

 

"{} ".format ()

 

이렇게요.

문자열의 {} 기호와 format () 함수 안에 들어가는 변수들이 차례차례 대응되어 문자열이 됩니다. 

 

>>> "{} {} {} ".format("사과", "딸기", "포도")

사과딸기포도

 

 

이 때 중괄호의 개수와 format 함수의 괄호 안의 변수의 값은 반드시 같아야 합니다. 

만약 변수의 개수가 괄호의 개수보다 작을 경우에는 에러가 뜹니다.

 

format 함수에서 주의할 것은 이 함수를 쓰면 숫자의 자료를 넣어도 문자열로 변환이 된다는 것이에요. 

type 함수를 쓰면 'str' 으로 표기 됩니다. 

 

요러케용...

 

그렇기 때문에 만약 format 함수로 넣은 숫자의 자료를 사칙연산 하고 싶다면 float 혹은 int 함수를 사용하여

정수나 실수로 치환해야 합니다. 

 

그리고 format 함수는 문자열 안에서 다양하게 쓰일 수 있습니다. 

 

이렇게 문자열의 중간에도 삽입이 가능해요.

 

format 함수는 많이 쓰이게 되는데, 이외에도 문자열의 함수들은 수없이 많아요. 

upper()  문자열의 알파벳을 대문자로 변경합니다.

a = "Hello Python World"
a.upper()

HELLO PYTHON WORLD -> 대문자로 변환 

 lower()  문자열의 알파벳을 소문자로 변경합니다. 


a = "Hello Python World"
a.upper()

hello python world -> 소문자로 변환

strip() 문자열 양옆의 공백을 제거합니다. 


a = "        Hello Python World"
a.strip()

        Hello Python World (x) -> 함수를 사용하지 않았을 때에는 이렇게 공백이 포함되지만
Hello Python World (ㅇ)   -> 함수를 사용하면 공백이 포함되지 않습니다. 
find() 문자열 내부에 특정한 문자가 어디 있는지 찾을 때 사용합니다.

a = "안녕안녕하세요".find("안녕")
print(a)

0 -> 왼쪽부터 찾아서 처음 찾는 단어가 처음 등장하는 위치를 찾습니다.
in 연산자 (키워드) in은 문자열 내부에 어떤 문자가 포함되어 있는지 확인할 때 사용해요. True 와 False 로 출력됩니다.

print("집에 갈래용" in "갈래용")

True -> True 혹은 False 로 출력되는 불 함수입니다. 
split() 문자열을 특정한 문자로 자를 때 사용합니다. 

a = "10 20 30 40 50".split(" ")
print(a)

['10', '20', '30,' '40', '50']  -> 함수의 공백을 기준으로 문자열이 나누어집니다. 
f 문자열 문자열 안에 있는 값을 format() 함수보다 간단하게 삽입할 수 있습니다. 

a = "훨씬 간단하게"
print(f "이렇게 해서 {a} 사용할 수 있어요.")

이렇게 해서 훨씬 간단하게 사용할 수 있어요. -> format() 함수로 바깥에 빼는 것이 아니라 직접 삽입할 수 있습니다. 파이썬 3.6  이전 버전에서 사용하면 오류가 생깁니다. 

 

 

그렇다면 이제 지금까지 배운 것을 바탕으로 직접 수식을 작성해볼게요!

구의 부피와 겉넓이를 구하는 프로그램을 작성하곘습니다. 

 

구의 반지름을 r이라고 할 때, 부피 V(volume)는 4/3πr³

구의 겉넓이는 4πr2입니다.

 

구의 반지름을 입력하면 구의 부피와 겉넓이를 구하는 코드를 작성할게요. 

코드 작성은 각자의 스타일이 있는 것이라 답만 정확하게 도출되면 과정은 상관없어요!

꼭 똑같이 않아도 됩니다. 

 

우선 저는 값을 구할 구의 반지름을 입력 받을 수 있는 input 함수를 사용할게요. 

input의 값은 항상 문자열이 되기 때문에 실수로 바꿔줄게요. (소수점이 들어가있으니까 실수!)

 

r = input("구의 반지름을 입력해주세요: ")

r = float(r)    -> r의 값을 다시 실수 r로 저장하는 코드 

 

그리고 파이 π 의 값이 길기 때문에 3.141592  으로 지정할게요. 

 

pi = 3.141592

 

그리고 이제 부피와 겉넓이를 구하는 공식을 사칙연산으로 넣어보겠습니다. 

사칙연산에 대한 것은 앞서서 배운 것이 있으니 참고!

https://blue-dot.tistory.com/8?category=972433 

 

파이썬 공부일지 6. 숫자 자료 연산하기!

점심시간까지 세 시간이나 남았어요. 오늘은 국민취업지원제도를 신청한 것이 있어서 고용센터에 상담을 받으러 가야합니다. 취업과 관련된 상담을 필수적으로 세 번 진행해야 하는데, 취업을

blue-dot.tistory.com

 

v = ((4/3)*pi*(r**3))                          # 구의 부피 구하는 공식
a = ((4*pi)*(r**2))                            # 구의 겉넓이 구하는 공식
print(f"구의 부피는 {v} 입니다.")    f문자열로 간단하게 삽입해봤어요!
print(f"구의 겉넓이는 {a} 입니다.")

 

깔끔하게 정리 되었나요... 코드 예쁘게 쓰고 싶은뎅 너무 어렵다..

 

이렇게 입력하고 실행을 하면 결과값이 어떻게 나오는지 볼게요 !

 

나온 결과 값!

짠.

그럼 예제 하나만 더 해볼게요. 

 

피타고라스 정의를 직접 코드로 짜볼 거예요. 

피타고라스의 정의는 삼각형의 밑변, 높이, 빗변을 계산합니다. 

 

출처 : https://namu.wiki/w/%ED%94%BC%ED%83%80%EA%B3%A0%EB%9D%BC%EC%8A%A4%20%EC%A0%95%EB%A6%AC 나무위키라서 죄송해요..

 

밑변과 높이를 입력하면 빗변을 계산할 수 있도록 해볼게요.

빗변을 구하려면  C의 제곱근을 없애주어야 하기 때문에 √2를 곱하면 됩니다. 즉 1/2를 제곱하면 구할 수 있어요.

 

그럼 아까와 동일하게 해볼게요. 우선 input 으로 밑변과 높이를 입력받을 수 있는 입력 프롬포트를 만들거예요. 

input으로 처리한 값은 모두 문자열이 되기 때문에 이번에도 float 를 입력해서 실수로 만들어줄게요. 

 

w = input("밑변의 길이를 입력해주세요.")
h = input("높이의 길이를 입력해주세요.")

w = float(w)
h = float(h)

 

그리고 이제 피타고라스 정의의 빗변 구하기 공식을 넣으면 빗변의 값을 구할 수 있어요. 

 

t = (w**2 + h**2) ** (0.5)  

(밑변의 제곱 + 높이의 제곱) 에 대해서 1/2 를 제곱하기

 

그럼 이제 이 값을 출력해볼 거예요. 

 

print(f"빗변의 길이는 {t} 입니다.")  #  이번에도 f문자열을 써볼게요. 이렇게 쓰지 않고 "빗변의 길이는", t , "입니다." 라고 쓰셔도 무방해요! 결과값을 도출하는 것엔 다양한 방법이 있어요. 

 

 

 

이것만 하고 가자!

 

이렇게 해서 실행을 하면?

 

 

이제 집에 가자!

 

짠. 

 

예제 두 개를 해봤어요. 

사실 수학 공식을 이해하지 못하면 간단하지가 않아서 제게는 간단하지 않았던 것 같아요..^^...

현업에 있는 친구들이 코드 예쁘게 써야한다고 강조강조를 해서 예쁘게 써보려고 하는데 

간단한 것부터 어렵네요. 

힘내서 열심히 해보도록 하겠습니다. 

다들 오늘도 수고 많으셨어요! 

반응형