문제 목록
> 해결: print()의 end 속성 ----> 줄바꿈없이 print() 여러번 호출 가능
2. input() 받을때 원하는 것보다 더 많이 받는 상황
> 해결: 일단 list에 모두 넣고 ":" 로 슬라이싱 ----> 더 받은 부분 잘라내고 쓰면 됨
개선 목록
> 해결: " Comprehension " 기능 ----> list 생성 간결해짐
b. list 값들 출력할때마다 길어짐 (for문 사용)
> 해결: " * 언패킹 " 기능 ----> list 요소들 출력 간결해짐
## 별 여러개 줄바꿈 없이 출력 " end " =============================

##문제 상황 ===============
# print()를 쓸때마다 줄바꿈 되는 문제
for i in range(3)
print('*')
>> *
*
*
# 해결 =================
# print()에 end 옵션 써줘야함
for i in range(3, end="") #출력 후 처리가 줄바꿈이 아닌 nothing 됨
print('*')
>> ***
** 원래 print() > end에 '\n' 들어감. // 이걸 바꿔주면 print되는 문자열 마지막에 줄바꿈 없애고 다른걸 넣을수도있음
## 5개만 받아 쓰고 싶다 "슬라이싱 Slicing"====================
N = 5
arr = list(map( int, input().split()) )
arr = arr[:N] ## 원하는 개수까지만 남음
## 원하는 개수만큼 숫자 입력받기 "Comprehension"=============================
N = 3 #입력 받을 개수
## 기존 풀이 ========
A = []
for _ in range(N): # ( _ :쓸모없는 변수에 사용)
x = int(input())
A.append(x)
## 개선 풀이 ========
A = [int(input()) for _ in range(9)]
## >> 새로운 개념 ========
[표현식 for 변수 in 반복객체 if 조건식] # : comprehension 일반문법
# ex.
[i*i for i in range(5)] # >> [0,1,4,9,16]
[i for i in range(10) if i%2==0] # >> [0,2,4,6,8]
>> 반복 객체 쉽게 생성할 수 있음
## 리스트 요소들 전부 출력 ====================
arr [1,2,3,4]
## 기존 ====
for i in range(arr.len()):
print(arr[i], end=" ")
## 언패킹 ====
print(*arr)
>> 둘다 결과값 1 2 3 4'Programming > Python' 카테고리의 다른 글
| [파이썬-개념] 슬라이싱 (0) | 2025.09.05 |
|---|---|
| [python] 변수 범위 / global / nonlocal (0) | 2025.09.05 |
| [python] 주요 자료형, 이터러블, 이터레이터 (0) | 2025.09.05 |
| [python] f-string / range() / for문 - enum, zip (0) | 2025.09.05 |
| [python]입력받기, 형변환, map, split (0) | 2025.09.05 |