저번 포스팅에 이어서 숫자열과 문자열의 다양한 기능에 대해서 추가 포스팅을 하도록 하겠습니다.
대소문자 바꾸기 : upper() / lower()
upper() 함수의 경우는 소문자를 대문자로, lower() 함수는 대문자를 소문자로 변경해 줍니다.
a = "Hello Python Programming...!"
a.upper()
위 변수 a를 설정하고 함수를 적용하고
print() 함수를 통해서 출력하게 되면
위와 같은 결과를 얻을 수 있습니다.
a = "Hello Python Programming...!"
b = a.lower()
print(b)
반대로 lower() 함수를 적용한다면
알파벳이 모두 소문자로 변경된 것을 확인가능합니다.
여기서 하나 중요한 부분은 두 함수를 사용해도 절대로 원본은 변경이 되지 않는다는 것을 기억해야 합니다.
print(a)를 통해서 a를 출력하면 원본인 "Hello Python Programming...!"이 출력됩니다.
이를 비파괴적 함수라고 합니다.
문자열의 양옆의 공백 제거하기 : strip()
strip() 함수는 문자열 양평의 공백을 제거합니다.
예를 들어서 " 안녕하세요 "라고 입력된 변수에 해당 함수를 적용한다면
"안녕하세요"로 변경됩니다. 실제 코드를 통해서 좀 더 알아보겠습니다.
input_a = """
안녕하세요
문자열 함수를 알아봅시다
"""
print(input_a)
해당 코드를 실행하면
위처럼 안녕하세요 앞에 공백이 생깁니다.
이를 의도하지 않았다면 함수를 통해서 제거가 가능합니다.
함수가 적용이 되면 불필요한 공백이 제거가 된 것을 확인가능합니다.
추가적으로 잘 사용하지 않지만 lstrip() / rstrip() 함수가 존재합니다.
각각 좌/우 공백을 제거해 줍니다.
문자열 구성 파악하기: is○○()
문자열이 소문자로만 구성이 된 것인지? 혹은 알파벳으로만 구성되어 있는지 등 확인할 때
- isalum():문자열이 알파벳 또는 숫자로만 구성되어 있는지 확인
- isalpha():문자열이 알파벳으로만 구성되어 있는지 확인
- isidentifier():문자열이 식별자로 사용 가능한지 확인
- isdecimal():문자열이 정수의 형태인지 확인
- isdigit():문자열이 숫자로 인식될 수 있는지 확인
- isspace():문자열이 공백으로만 구성되어있는지 확인
- islower():문자열이 소문자로만 구성되어있는지 확인
- isupper():문자열이 대문자로만 구성되어있는지 확인
간단하게 몇개만 실험으로 사용해 보겠습니다.
함수를 적용하고 프린트를 하게 되면 해당 조건이 맞다면 "True" 틀리면 "false"를 출력합니다.
문자열 찾기 : find() / rfind()
문자열의 특정문자가 어디에 위치하는지 확인할 때 사용하는 함수입니다.
- find(): 왼쪽부터 찾아서 처음등장하는 위치를 찾습니다.
- rfind(): 오른쪽부터 찾아서 처음등장하는 위치를 찾습니다.
output_a = ("안녕안녕하세요".find(안녕))
print(output_a)
해당 코드를 실행하면
"안녕"이라는 문자는 0번째 자리부터 있다고 알려줍니다.
이전에 배웠던 파이썬은 첫자리가 0부터 시작한다는 것을 기억한다면 쉽게 이해가능합니다.
이번엔 rfind() 함수를 실행하면 오른쪽에서부터 안녕이라는 문자를 찾습니다.
그래서 2라는 숫자를 출력하는 것을 볼 수 있습니다.
문자열과 in 연산자
문자열내부에 어떤 문자열이 있는지 확인하려면 in연산자를 사용합니다.
출력은 "ture"와 "false"로 나옵니다.
print("안녕"in"안녕하세요")
print("잘자"in"안녕하세요")
해당 코드를 실행하면 "안녕하세요"안에 "안녕"이라는 문자를 포함해서 True
"잘 자"는 포함하지 않아서 False로 출력되는 것을 확인 가능합니다.
문자열 자르기 : split()
문자열을 특정한 문자로 자를 때는 split()라는 함수를 사용합니다.
a = "10 20 30 40 50".split( )
print(a)
해당 함수를 실행한다면 " "(공백)을 기준으로 문자열을 잘라줍니다
위와 같은 결과를 보여주고 실행결과로 리스트(list)가 생성이 됩니다. 이는 나중에 다시 포스팅하도록 하겠습니다.
문제
1. 구의 부피와 겉넓이를 구해주는 코드 작성하기
구의 반지름을 입력해주세요:
구의 부피는 " "입니다.
구의 겉넓이는 " "입니다.
위의 결과값을 보여주는 코드를 작성해 보도록 하겠습니다.
먼저 구의 부피와 반지름을 구하는 공식을 알아야 합니다.
구의 반지름을 r, 파이값 pi = 3.14 15292라 가정했을 때
- 부피는 4/3*pi*r의 3 제곱
- 겉넓이는 4*pi*r의 제곱
이를 통해서 위의 결과값을 보여는 코드를 작성해 보겠습니다.
pi = 3.141592
a = input("구의 반지름을 입력해주세요 : ")
a1 = int(a)
print("구의 부피는 {}입니다".format((4/3)*pi*a1**3))
print("구의 겉넓이는 {}입니다".format(4*pi*a1**2))
위처럼 코드를 작성해보았습니다.
input()을 통해서 반지름값을 입력받으면 문자열로 입력이 되어서 꼭 정수로 치환해 주는 작업을 해야 합니다.
그리고 앞에서 배웠듯이 제곱의 연산은 (**)로 가능합니다.
위처럼 코드를 작성하고 파워셸에서 실행하면 값을 입력받아서 부피와 겉넓이를 구해주는 간단한 프로그램을 생성했습니다.
2. 피타고라스의 정리를 이용하여 빗변의 길이를 구해주는 코드 작성하기
밑변의 길이를 입력해주세요 :
높이의 길이를 입력해주세요 :
빗변의 길이는 " "입니다.
피타고라스의 정리를 이용해서 밑변의 길이와 높이의 길이를 입력받으면
빗변의 길이를 구해주는 프로그램을 만들어 보겠습니다.
먼저 피타고라스의 정리를 알아야 하는데
- a의 제곱 + b의 제곱 = c의 제곱
이를 통해서 빗변인 c를 구한다면
- c = 루트(a의 제곱 + b의 제곱)
이제 해당 코드를 작성해 보겠습니다.
a = input("밑변의 길이를 입력해주세요 : ")
b = input("높이의 길이를 입력해주세요 : ")
a1 = float(a)
b1 = float(b)
print("빗변의 길이는 {}입니다.".format((a1**2+b1**2)**(1/2)))
이번에도 주의 사항으로는 입력받은 값은 문자열이니 꼭 숫자로 변경을 해주어야 합니다.
이번에는 정수가 아닌 부동소수점(float)으로 변경해 주었습니다.
그리고 수식에서 루트의 경우는 제곱의 반대이니 1/2로 표현 가능합니다.
코드를 실행한다면 밑변과 높이의 값을 입력받고 빗변의 길이를 구해주는 프로그램이 정상작동하는 것을 확인가능합니다.
숫자열과 문자열의 다양한 기능에 대해서 알아보았고
앞에서 배웠던 내용을 토대로 프로그램 또한 작성해 보았습니다.
이상으로 이번 포스팅을 마치도록 하겠습니다.
'언어 > Python' 카테고리의 다른 글
숫자열과 문자열의 다양한 기능 1 (0) | 2024.12.10 |
---|---|
사용자 입력 : input() (0) | 2024.12.04 |
변수 (0) | 2024.12.04 |
숫자와 숫자 연산자 (0) | 2024.11.22 |
문자열 연산자 - 예외 처리 / 문자열의 길이 구하기 (0) | 2024.11.13 |