본문 바로가기
sbs 아카데미 학원 수업/파이썬 수업 메모 (SBS 아카데미 학원)

파이썬 수업 4일차- 문자열

by demianpark127 2024. 11. 24.
SMALL

https://colab.research.google.com/

 

Google Colab

 

colab.research.google.com

 

Colaboratory

파이썬 코딩하는 곳

 

파이썬 문자열 이론 설명

파이썬에서 문자열(string)은 문자의 연속으로 이루어진 데이터 타입입니다. 문자열은 불변(immutable)하며, 문자, 숫자, 공백, 심지어 특수 문자를 포함할 수 있습니다. 문자열은 파이썬에서 가장 많이 사용되는 데이터 타입 중 하나로, 다양한 작업에서 사용됩니다. 아래는 문자열의 주요 이론과 특징들입니다.


1. 문자열 생성

문자열은 작은따옴표(') 또는 큰따옴표(")로 생성할 수 있습니다.

python
코드 복사
string1 = 'Hello' string2 = "World"

여러 줄 문자열은 삼중 따옴표(''' 또는 """)로 생성할 수 있습니다.

python
코드 복사
multiline = '''이 문자열은 여러 줄로 이루어져 있습니다.'''

2. 문자열의 불변성

파이썬의 문자열은 불변(immutable) 데이터 타입입니다. 즉, 문자열이 생성되면 내용을 변경할 수 없습니다.

python
코드 복사
string = "Hello" # string[0] = "h" # 오류 발생: 문자열은 변경 불가능 string = "hello" # 새로운 문자열 객체 생성

3. 문자열 인덱싱과 슬라이싱

  • 인덱싱: 문자열의 특정 문자에 접근. 0부터 시작.
  • 슬라이싱: 문자열의 일부를 추출.
python
코드 복사
string = "Python" print(string[0]) # 'P' print(string[-1]) # 'n' (음수 인덱스는 뒤에서부터 접근) print(string[0:3]) # 'Pyt' (0번 인덱스부터 2번까지) print(string[:3]) # 'Pyt' (시작 생략 = 처음부터) print(string[3:]) # 'hon' (끝 생략 = 끝까지) print(string[::2]) # 'Pto' (2칸씩 건너뜀)

4. 문자열 조작 메서드

  • 변환 메서드
  • python
    코드 복사
    string = "hello" print(string.upper()) # 'HELLO' (대문자로 변환) print(string.lower()) # 'hello' (소문자로 변환) print(string.capitalize()) # 'Hello' (첫 문자만 대문자)
  • 검색 및 검사 메서드
  • python
    코드 복사
    string = "Hello World" print(string.find("World")) # 6 (단어의 시작 인덱스 반환) print(string.startswith("Hello")) # True print(string.endswith("World")) # True
  • 공백 제거
  • python
    코드 복사
    string = " hello " print(string.strip()) # 'hello' (앞뒤 공백 제거) print(string.lstrip()) # 'hello ' (왼쪽 공백 제거) print(string.rstrip()) # ' hello' (오른쪽 공백 제거)
  • 분리 및 결합
  • python
    코드 복사
    string = "a,b,c" print(string.split(",")) # ['a', 'b', 'c'] (문자열 분리) print(",".join(["a", "b", "c"])) # 'a,b,c' (문자열 결합)
  • 교체
  • python
    코드 복사
    string = "hello world" print(string.replace("world", "Python")) # 'hello Python'

5. 포맷팅 (문자열 삽입)

문자열에 변수 값을 삽입하는 다양한 방법이 있습니다.

  • f-strings (Python 3.6 이상):
  • python
    코드 복사
    name = "Alice" print(f"Hello, {name}!") # 'Hello, Alice!'
  • format 메서드:
  • python
    코드 복사
    print("Hello, {}!".format("Bob")) # 'Hello, Bob!'
  • C 스타일 포맷팅:
  • python
    코드 복사
    age = 25 print("I am %d years old." % age) # 'I am 25 years old.'

6. 문자열의 유니코드 지원

파이썬의 문자열은 유니코드를 기본적으로 지원하여, 다양한 언어와 이모지 등을 포함할 수 있습니다.

python
코드 복사
string = "안녕하세요 😊" print(len(string)) # 문자 수

7. 문자열의 기타 특징

  • 문자열 반복:
    python
    코드 복사
    print("Hello" * 3) # 'HelloHelloHello'
  • in 연산자: 부분 문자열 확인
    python
    코드 복사
    print("Py" in "Python") # True print("Java" in "Python") # False

8. 문자열과 이스케이프 문자

  • 문자열에 특수 문자를 삽입할 때 사용.
    python
    코드 복사
    string = "He said, \"Python is great!\"" print(string) # He said, "Python is great!" # 이스케이프 문자의 예 newline = "Hello\nWorld" # 줄바꿈 tabbed = "Hello\tWorld" # 탭

9. 문자열의 길이

문자열의 길이는 len() 함수를 사용하여 알 수 있습니다.

python
코드 복사
string = "Python" print(len(string)) # 6

10. 문자열 정렬

python
코드 복사
string = "Python" print(string.center(10, "-")) # '--Python--' print(string.ljust(10, "-")) # 'Python----' print(string.rjust(10, "-")) # '----Python'

 

# range(end)
# range(start, end)
# range(start, end, step)
print(range(7))
print(range(3,7))
print(range(1,10,2))

range(0, 7)

range(3, 7)

range(1, 10, 2)

 
sum = 0
mul = 1

# range(start, end)
for num in range(1,6) :
  sum += num
  mul *= num

print(f'숫자들의 합:{sum}')
print(f'숫자들의 곱:{mul}')

숫자들의 합:15

숫자들의 곱:120

 

sum = 0
mul = 1

# range(start, end)
for num in range(1,6,2) :
  sum += num
  mul *= num

print(f'숫자들의 합:{sum}')
print(f'숫자들의 곱:{mul}')

숫자들의 합:9

숫자들의 곱:15

 

sum = 0
mul = 1

# range(start, end)
for num in range(10,0,2) :
  sum += num
  mul *= num

print(f'숫자들의 합:{sum}')
print(f'숫자들의 곱:{mul}')

숫자들의 합:0

숫자들의 곱:1

 

len("Hello")

5

 

for ch in "Hello" :#['H', 'e', 'l', 'l', 'o']
  print(ch)

H

e

l

l

o

 

str = input()

for ch in str :
  print(ch)

hello world

 

str = input()

for ch in range(len(str)) :
  print(f'{ch}번째 문자는 {str[ch]}입니다')

str = input()

for ch in range(len(str)) :
  print(f'{ch+1:2d}번째 문자는 {str[ch]}입니다')

for n in range(2, 10) :
  for m in range(1, 10) :
    print (f'{n}*{m}={n*m}')
 
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
3*1=3
3*2=6
3*3=9
3*4=12
3*5=15
3*6=18
3*7=21
3*8=24
3*9=27
4*1=4
4*2=8
4*3=12
4*4=16
4*5=20
4*6=24
4*7=28
4*8=32
4*9=36
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45
6*1=6
6*2=12
6*3=18
6*4=24
6*5=30
6*6=36
6*7=42
6*8=48
6*9=54
7*1=7
7*2=14
7*3=21
7*4=28
7*5=35
7*6=42
7*7=49
7*8=56
7*9=63
8*1=8
8*2=16
8*3=24
8*4=32
8*5=40
8*6=48
8*7=56
8*8=64
8*9=72
9*1=9
9*2=18
9*3=27
9*4=36
9*5=45
9*6=54
9*7=63
9*8=72
9*9=81

 

for n in range(2, 10) :
  for m in range(1, 10) :
    print(f'{n}x{m}={n*m}', end = "\t")
  print()

 

[1,2,3,4,5]
"Hello" #['H','e','l','l','o']
circle = [3.14, "PI", 7] #논리형(ex. True)도 리스트에 넣을 수 있음

print(f'원주율 : {circle[0]}')
print(f'원주율은 영어로 {circle[1]}')
print(f'반지름 : {circle[2]}')
 
 

원주율 : 3.14

원주율은 영어로 PI

반지름 : 7

 

[1,2,3,4,5]
"Hello" #['H','e','l','l','o']
circle = [3.14, "PI", 7] #논리형(ex. True)도 리스트에 넣을 수 있음

print(f'원주율 : {circle[0]}')
print(f'원주율은 영어로 {circle[1]}')
print(f'반지름 : {circle[2]}')

print(f'{circle[1][0]}')

원주율 : 3.14

원주율은 영어로 PI

반지름 : 7

P

 

[1,2,3,4,5]
"Hello" #['H','e','l','l','o']
circle = [3.14, "PI", 7] #논리형(ex. True)도 리스트에 넣을 수 있음
#circle[1] : "PI" (=["P", "I"])
#circle = [3.14, ["P", "I"]. 7] #리스트 안에는 모든 자료형(리스트 포함) 들어갈 수 있음
print(f'원주율 : {circle[0]}')
print(f'원주율은 영어로 {circle[1]}')
print(f'반지름 : {circle[2]}')

print(f'{circle[1][0]}')

원주율 : 3.14

원주율은 영어로 PI

반지름 : 7

P

 

hi = "Hello" #['H','e','l','l','o']
print(hi[:3])
numbers = [1,2,3,4,5]
print(numbers[:4])

Hel

[1, 2, 3, 4]

 

hi = "Hello" #['H','e','l','l','o']
print(hi[:3])
numbers = [1,2,3,4,5]
print(numbers[:4]) # =numbers[0:4] -> 0번째 칸 이상 4번째 칸 미만
print(numbers[::2]) # =numbers[0:5:2]
print(numbers[1::2])

Hel

[1,2,3,4]

[1,3,5]

[2,4]

 

파이썬 list에 대한 설명

ChatGPT

파이썬에서 list는 가장 자주 사용되는 데이터 구조 중 하나로, 여러 항목(요소)을 저장할 수 있는 순서가 있는 변경 가능한(mutable) 컬렉션입니다. 리스트는 다양한 데이터 타입을 포함할 수 있으며, 동적으로 크기가 조정됩니다. 다음은 파이썬 list에 대한 이론적 설명입니다.


1. 리스트 생성

리스트는 대괄호([])를 사용하여 생성하며, 쉼표(,)로 요소를 구분합니다.

python
코드 복사
# 빈 리스트 생성 empty_list = [] # 요소를 포함한 리스트 생성 fruits = ["apple", "banana", "cherry"] # 다양한 데이터 타입 포함 가능 mixed_list = [1, "hello", 3.14, True]

2. 리스트의 주요 특징

  • 순서 유지: 리스트는 삽입된 순서를 유지합니다.
  • 중복 허용: 동일한 값의 요소를 여러 번 포함할 수 있습니다.
  • python
    코드 복사
    numbers = [1, 2, 2, 3]
  • 변경 가능(Mutable): 생성 후에도 요소를 추가, 삭제, 변경할 수 있습니다.

3. 리스트 인덱싱과 슬라이싱

리스트는 문자열과 마찬가지로 인덱싱과 슬라이싱이 가능합니다.

인덱싱

  • 0부터 시작하며, 음수 인덱스는 끝에서부터 접근합니다.
python
코드 복사
fruits = ["apple", "banana", "cherry"] print(fruits[0]) # 'apple' print(fruits[-1]) # 'cherry'

슬라이싱

  • 리스트의 부분집합을 가져옵니다.
python
코드 복사
fruits = ["apple", "banana", "cherry", "date"] print(fruits[1:3]) # ['banana', 'cherry'] (1번부터 2번까지) print(fruits[:2]) # ['apple', 'banana'] (처음부터 1번까지) print(fruits[2:]) # ['cherry', 'date'] (2번부터 끝까지) print(fruits[::2]) # ['apple', 'cherry'] (2칸씩 건너뜀)

4. 리스트 조작 메서드

요소 추가

  • append(): 리스트 끝에 요소 추가.
  • insert(): 특정 위치에 요소 삽입.
  • extend(): 리스트 병합.
python
코드 복사
fruits = ["apple", "banana"] fruits.append("cherry") # ['apple', 'banana', 'cherry'] fruits.insert(1, "date") # ['apple', 'date', 'banana', 'cherry'] more_fruits = ["elderberry", "fig"] fruits.extend(more_fruits) # ['apple', 'date', 'banana', 'cherry', 'elderberry', 'fig']

요소 제거

  • remove(): 특정 값 제거 (첫 번째로 발견된 값만 제거).
  • pop(): 특정 인덱스의 요소 제거 및 반환 (기본값은 마지막 요소).
  • clear(): 리스트의 모든 요소 제거.
python
코드 복사
fruits = ["apple", "banana", "cherry", "banana"] fruits.remove("banana") # ['apple', 'cherry', 'banana'] popped = fruits.pop(1) # 'cherry', ['apple', 'banana'] fruits.clear() # []

요소 변경

python
코드 복사
fruits = ["apple", "banana", "cherry"] fruits[1] = "blueberry" # ['apple', 'blueberry', 'cherry']

5. 리스트 정렬 및 뒤집기

  • sort(): 리스트를 오름차순으로 정렬 (기본값).
  • reverse(): 리스트 순서를 뒤집음.
python
코드 복사
numbers = [3, 1, 4, 1, 5] numbers.sort() # [1, 1, 3, 4, 5] numbers.sort(reverse=True) # [5, 4, 3, 1, 1] numbers.reverse() # [1, 1, 4, 3, 5]

6. 리스트 탐색

  • index(): 특정 값의 인덱스 반환.
  • count(): 특정 값의 개수 반환.
python
코드 복사
numbers = [1, 2, 3, 2, 4, 2] print(numbers.index(2)) # 1 (첫 번째 2의 인덱스) print(numbers.count(2)) # 3 (2의 개수)

7. 리스트 복사

  • 얕은 복사(shallow copy): copy() 또는 슬라이싱 사용.
  • 깊은 복사(deep copy): copy 모듈의 deepcopy() 사용.
python
코드 복사
original = [1, 2, 3] shallow_copy = original.copy() deep_copy = original[:] # 동일 결과

8. 리스트의 길이

리스트의 요소 개수는 len()으로 확인할 수 있습니다.

python
코드 복사
fruits = ["apple", "banana", "cherry"] print(len(fruits)) # 3

9. 리스트와 반복문

리스트는 반복문과 함께 자주 사용됩니다.

python
코드 복사
fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit)

10. 리스트 컴프리헨션

리스트를 간단하고 효율적으로 생성하는 방법입니다.

python
코드 복사
# 0부터 9까지의 제곱수를 포함하는 리스트 squares = [x**2 for x in range(10)] print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # 조건부 리스트 컴프리헨션 even_numbers = [x for x in range(10) if x % 2 == 0] print(even_numbers) # [0, 2, 4, 6, 8]

11. 리스트의 기타 특징

  • in 연산자: 특정 요소가 리스트에 존재하는지 확인.
  • python
    코드 복사
    print("apple" in ["apple", "banana"]) # True print("grape" in ["apple", "banana"]) # False
  • 리스트 반복:
  • python
    코드 복사
    print([1, 2, 3] * 2) # [1, 2, 3, 1, 2, 3]

12. 2차원 리스트

리스트 안에 리스트를 포함하여 2차원 이상의 구조를 만들 수 있습니다.

python
코드 복사
matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] print(matrix[0][1]) # 2 (첫 번째 행, 두 번째 열)

요약

파이썬 리스트는 유연성과 기능이 풍부하여 다양한 작업에서 사용됩니다. 리스트의 동작과 메서드를 이해하면 데이터를 효율적으로 관리하고 조작할 수 있습니다. 추가적인 질문이나 실습이 필요하면 알려주세요! 😊

 

nums = [1, 2, 3]
nums[2] = 5
nums.append(6)
print(nums)

[1, 2, 5, 6]

 

#리스트, inser(위치, 요쇼)
nums.insert(2, 3)
print(nums)
nums.insert(3, 4)
print(nums)

[1, 2, 3, 5, 6]

[1, 2, 3, 4, 5, 6]

 

nums = [1,2,3,4,5,6,]
nums.pop()
print(nums)

[1, 2, 3, 4, 5]

 

nums = [1,2,3,4,5,6,]
nums.pop()
print(nums)
print(nums.pop())
print(nums)
[1, 2, 3, 4, 5]
5
[1, 2, 3, 4]
 
#리스트.remove(요소)

str = ["A","B","C"]
str.remove("C")
print(str)

['A', 'B']

 

#리스트.remove(요소)

str = ["A","B","C"]
str.remove("C")
print(str)
hw = list("Hellow World")
while "l" in hw :
   hw.remove("l")
# hw2 = []
# for n in hw :
#   if n != "l" :
#     hw2.append(n)
# print(hw2)
print(hw)
# print(list("Hello World").remove("H"))

['A', 'B']

['H', 'e', 'o', 'w', ' ', 'W', 'o', 'r', 'd']

 

list_num = [2, 7, 5 ,3]
print(list_num)

list_num2 = sorted(list_num)
print(list_num2)

[2, 7, 5, 3]

[2, 3, 5, 7]

 

list_num = [2, 7, 5 ,3]
print(list_num)

list_num2 = sorted(list_num)
print(list_num2)

list_num.sort()
print(list_num)

list_num.sort(reverse=True)
print(list_num)

list_num.reverse()
print(list_num)

[2, 7, 5, 3]

[2, 3, 5, 7]

[2, 3, 5, 7]

[7, 5, 3, 2]

[2, 3, 5, 7]

 

print(2 in list_num)
print(5 not in list_num)

True

False

 

"abc"
list("abc")
list_abc = ["a","b","c"] # list("abc")

print("".join(list_abc))
print("+". join(list_abc))

list_abc.reverse()
print("".join(list_abc))

abc

a+b+c

cba

 

응용문제

파이썬 list,문자열을 사용한 문제풀이 [현재 만원을 가지고 있고, 금액을 사용해서 0원으로 만들어, 반복문을 탈출해야 합니다.] *사용하는 금액은 현재 금액보다 더 클 수 없고 0이하의 금액도 사용할 수 없습니다. *잔액도 금액을 쓸때마다 출력해야함

 

ChatGPT

아래는 주어진 조건을 만족하는 문제 풀이 코드입니다:


문제 풀이 코드

python
코드 복사
# 초기 금액 balance = 10000 # 반복문 시작 while balance > 0: # 사용자 입력 amount = int(input(f"현재 잔액은 {balance}원입니다. 사용하려는 금액을 입력하세요: ")) # 조건 체크 if amount > balance: print("사용하려는 금액이 잔액보다 큽니다. 다시 입력하세요.") elif amount <= 0: print("0 이하의 금액은 사용할 수 없습니다. 다시 입력하세요.") else: # 금액 사용 balance -= amount print(f"금액 {amount}원을 사용했습니다. 남은 잔액은 {balance}원입니다.") # 잔액이 0원이 되었을 때 print("잔액이 0원이 되어 반복문을 종료합니다.")

코드 설명

  1. 초기 잔액 설정:잔액을 10000으로 설정합니다.
  2. python
    코드 복사
    balance = 10000
  3. 반복문:
    • while balance > 0: 잔액이 0보다 클 때까지 반복합니다.
    • 매 반복마다 사용자에게 금액을 입력받습니다.
  4. 입력 조건 확인:
    • 잔액 초과: 입력 금액이 현재 잔액보다 클 경우 오류 메시지를 출력하고 다시 입력받습니다.
    • 0 이하 금액: 입력 금액이 0 이하일 경우 오류 메시지를 출력합니다.
  5. 잔액 업데이트:
    • 조건을 만족하는 금액을 입력받으면 잔액에서 입력 금액을 차감하고 현재 남은 잔액을 출력합니다.
  6. 종료 메시지:
    • 잔액이 0원이 되면 반복문이 종료되고 메시지를 출력합니다.

실행 예시

yaml
코드 복사
현재 잔액은 10000원입니다. 사용하려는 금액을 입력하세요: 2000 금액 2000원을 사용했습니다. 남은 잔액은 8000원입니다. 현재 잔액은 8000원입니다. 사용하려는 금액을 입력하세요: 3000 금액 3000원을 사용했습니다. 남은 잔액은 5000원입니다. 현재 잔액은 5000원입니다. 사용하려는 금액을 입력하세요: 6000 사용하려는 금액이 잔액보다 큽니다. 다시 입력하세요. 현재 잔액은 5000원입니다. 사용하려는 금액을 입력하세요: 5000 금액 5000원을 사용했습니다. 남은 잔액은 0원입니다. 잔액이 0원이 되어 반복문을 종료합니다.

코드 확장 가능성

  • 입력 오류 처리: try-except로 숫자가 아닌 값을 입력했을 때의 처리를 추가할 수 있습니다.
  • 자동 사용 금액 결정: 사용자가 입력하지 않고, 자동으로 금액을 차감하도록 변경할 수 있습니다.
  • 로그 저장: 사용된 금액과 잔액을 리스트에 저장해 이력을 출력하도록 확장 가능합니다.
 
4o

나의 말:

보관할 과일의 개수를 입력받고, 그 개수만큼 리스트에 과일명을 입력하고, 마지막으로 입력한 과일들을 출력하면 됩니다. * 빈 리스트에 append()로 추가가 가능 *대괄호 없이 과일들을 출력해주세요 1. for문으로 하나씩 출력하기 2. join으로 한번에 출력하기
 

ChatGPT의 말:

ChatGPT

아래는 주어진 조건을 만족하는 두 가지 방법의 코드를 작성했습니다.


문제 풀이 코드

python
코드 복사
# 과일 리스트 초기화 fruits = [] # 과일 개수 입력받기 num_fruits = int(input("보관할 과일의 개수를 입력하세요: ")) # 과일 이름 입력받아 리스트에 추가 for _ in range(num_fruits): fruit = input("과일 이름을 입력하세요: ") fruits.append(fruit) # 1. for문으로 하나씩 출력하기 print("\n[for문으로 하나씩 출력]") for fruit in fruits: print(fruit) # 2. join으로 한번에 출력하기 print("\n[join으로 한번에 출력]") print(" ".join(fruits))

코드 설명

  1. 빈 리스트 초기화:과일명을 저장할 빈 리스트를 생성합니다.
  2. python
    코드 복사
    fruits = []
  3. 과일 개수 입력:사용자가 보관할 과일의 개수를 입력합니다.
  4. python
    코드 복사
    num_fruits = int(input("보관할 과일의 개수를 입력하세요: "))
  5. 리스트에 과일명 추가:for 반복문을 사용해 입력받은 과일명을 리스트에 추가합니다.
  6. python
    코드 복사
    for _ in range(num_fruits): fruit = input("과일 이름을 입력하세요: ") fruits.append(fruit)
  7. 출력 방법 1: for 문으로 하나씩 출력:리스트의 각 요소를 반복하며 하나씩 출력합니다.
  8. python
    코드 복사
    for fruit in fruits: print(fruit)
  9. 출력 방법 2: join으로 한번에 출력:join() 메서드를 사용해 리스트 요소들을 공백(" ")으로 연결해 한번에 출력합니다.
  10. python
    코드 복사
    print(" ".join(fruits))

실행 예시

입력

코드 복사
보관할 과일의 개수를 입력하세요: 3 과일 이름을 입력하세요: 사과 과일 이름을 입력하세요: 바나나 과일 이름을 입력하세요: 포도

출력

csharp
코드 복사
[for문으로 하나씩 출력] 사과 바나나 포도 [join으로 한번에 출력] 사과 바나나 포도

응용 가능성

  • 과일 이름을 중복 없이 추가하려면, 입력 전에 if fruit not in fruits: 조건을 추가할 수 있습니다.
  • 입력된 과일명을 알파벳 순서로 정렬하려면 fruits.sort()를 사용하면 됩니다.
  • 다른 구분자를 사용하려면 join() 메서드의 인수로 ", " 또는 " | " 등을 사용할 수 있습니다.

 

# 초기 금액
balance = 10000

# 반복문 시작
while balance > 0:
    # 사용자 입력
    amount = int(input(f"현재 잔액은 {balance}원입니다. 사용하려는 금액을 입력하세요: "))
   
    # 조건 체크
    if amount > balance:
        print("사용하려는 금액이 잔액보다 큽니다. 다시 입력하세요.")
    elif amount <= 0:
        print("0 이하의 금액은 사용할 수 없습니다. 다시 입력하세요.")
    else:
        # 금액 사용
        balance -= amount
        print(f"금액 {amount}원을 사용했습니다. 남은 잔액은 {balance}원입니다.")

# 잔액이 0원이 되었을 때
print("잔액이 0원이 되어 반복문을 종료합니다.")

 

 

# 과일 리스트 초기화
fruits = []

# 과일 개수 입력받기
num_fruits = int(input("보관할 과일의 개수를 입력하세요: "))

# 과일 이름 입력받아 리스트에 추가
for _ in range(num_fruits):
    fruit = input("과일 이름을 입력하세요: ")
    fruits.append(fruit)

# 1. for문으로 하나씩 출력하기
print("\n[for문으로 하나씩 출력]")
for fruit in fruits:
    print(fruit)

# 2. join으로 한번에 출력하기
print("\n[join으로 한번에 출력]")
print(" ".join(fruits))

 

# 과일 리스트 초기화
fruits = []


# 과일 개수 입력받기
num_fruits = int(input("보관할 과일의 개수를 입력하세요: "))
i = 0

# 과일 이름 입력받아 리스트에 추가
for _ in range(num_fruits):
    i+=1
    fruits.append(input(f'{i}번째 과일 이름을 입력하세요: '))  

# 1. for문으로 하나씩 출력하기
print("[for문으로 하나씩 출력]")
for fruit in fruits:
    print(f'{fruit}',end=" ")

# 2. join으로 한번에 출력하기
print("\n[join으로 한번에 출력]")
print(" ".join(fruits))

 

 

LIST