1. 공백없는 문자열 입력받아 출력하기
공백이 들어 있지 않은 문자열의 경우에는, input()함수를 이용하면 쉽게 입력을 받을 수 있음
given_input = input()
print(given_input)
# 입력
>> hello
# 출력
hello
- 문자열은 마치 1차원 배열과 같음
- 첫 번째 문자를 참조하기 위해서는 0번지를, 두 번째 문자를 참조하기 위해서는 1번지를 참조해야 함
given_input = "banana"
print(given_input[0]) # b <- 문자열의 첫 번째 문자
print(given_input[1]) # a <- 문자열의 두 번째 문자
print(given_input[2]) # n <- 문자열의 세 번째 문자
- 문자열의 경우에는 for loop 없이 print 함수만을 이용하여 문자열을 출력할 수 있음
given_input = "banana"
print(given_input)
>> banana
- 하지만 일반 리스트의 경우 리스트를 그대로 출력하면 리스트 type 형태로 나오게 되기 때문에 꼭 for loop을 이용해 각 원소를 포맷에 맞춰 출력해줘야 함
arr = [1, 2, 3]
print(arr) # [1, 2, 3] 그 자체로 출력됨
for elem in arr: # 1 2 3 이렇게 출력됨
print(elem, end=" ")
2. 문자열의 길이
입력으로 주어진 문자열의 길이는, len() 함수를 이용하면 쉽게 구할 수 있음
given_input = input()
print(len(given_input))
# 입력
>> hello
# 출력
5
3. 공백이 포함된 문자열 입력받아 출력하기
공백이 포함된 문자열의 경우라도 python3의 경우 항상 한 줄 단위로 입력을 받기 때문에, 기존과 동일하게 input()함수를 이용하면 쉽게 입력을 받을 수 있음
given_input = input()
print(given_input)
# 입력
>> hello world
# 출력
hello world
- 위의 예시처럼 hello world가 입력으로 들어온 경우라면, 6번째 문자인 given_input[5]를 출력했을 때는 공백이 나옴
- given_input 문자열의 길이를 len() 함수를 이용해 구하게 된다면, 공백을 포함한 총 길이가 출력됨
given_input = "hello world"
print(given_input[5])
print(len(given_input))
>> (공백)
11
4. 문자열 리스트 관리
- 문자열들의 목록을 관리하기 위해서는, 각 문자열들을 원소로 갖는 리스트를 정의하면 됨
- 하나의 문자열의 쓰임은 마치 1차원 배열과 같고, 문자열 리스트의 경우에는 마치 2차원 배열과 같이 동작함
arr = ["banana", "apple", "pizza"]
print(arr[0]) # banana <- 첫 번째 문자열
print(len(arr[0])) # 6 <- 첫 번째 문자열의 길이
print(arr[0][0]) # b <- 첫 번째 문자열의 첫 번째 문자
print(arr[0][1]) # a <- 첫 번째 문자열의 두 번째 문자
print(arr[0][2]) # n <- 첫 번째 문자열의 세 번째 문자
5. 문자열 리스트 활용
문자열이 한 줄에 하나씩 총 n개 주어졌을 때, 끝에 있는 3개의 문자열만 순서대로 출력하는 방법
1. 입력받은 n개의 문자열을 저장한 뒤, 그 중 끝에 있는 3개의 문자열을 출력
n = 5
arr = []
for _ in range(n):
given_str = input()
arr.append(given_str)
for string in arr[-3:]:
print(string)
2. list comprehension
문자열 리스트를 만드는 과정은 배열을 선언하고 for loop을 돌며 append하는 과정
n = 5
arr = [
input()
for _ in range(n)
]
for string in arr[-3:]:
print(string)
6. 공백 단위로 문자열 입력받기
공백을 사이에 두고 문자열들이 주어졌을 때, 문자열 리스트 만드는 방법
- python에서는 한 줄 단위로만 입력받을 수 있기 때문에, 통째로 입력을 받은 뒤 공백 단위로 잘라서 리스트를 만들어야 함
- split() 함수를 이용하면 공백 단위로 쪼개져 리스트가 만들어지므로, 이를 이용하여 간단히 문자열 리스트를 만들 수 있음
arr = input().split()
print(arr)
# 출력
>> apple banana candy
['apple', 'banana', 'candy']
여기서의 arr는 1차원 리스트이기 때문에, len(arr)를 출력하면 문자열의 개수가 나옴
arr = input().split()
print(len(arr))
>> apple banana candy
3
공백 단위로 정확히 2개의 문자열을 입력 받을때는 굳이 map 함수를 사용하지 않고 tuple만 사용하여 쉽게 구현이 가능함
(map 함수의 역할이 해당 원소들을 전부 원하는 type으로 변경하는 것이기 때문)
a, b = tuple(input().split())
print(a)
print(b)
>> banana apple
banana
apple
'Python' 카테고리의 다른 글
[코드트리 조별과제] #08. 새로운 2차원 배열 선언과 활용 (0) | 2024.08.11 |
---|---|
[코드트리 조별과제] #07. 2차원 배열 입력, 2차원 배열에서 원소에 대한 접근 (0) | 2024.08.06 |
[코드트리 조별과제] #06. 리스트에서 주어진 숫자들 중 최댓값/최솟값 구하기 (0) | 2024.08.05 |
[코드트리 조별과제] #05. 특정 문자가 입력될 때까지 여러 줄 입력 받기 (0) | 2024.08.04 |
[코드트리 조별과제] #04. 특정 위치의 문자 enumerate, 특정 원소의 개수 count (0) | 2024.08.03 |