겉바속촉
[PYTHON] 파이썬_루프 코드 반복 (리스트, 문자열, 수) 본문
728x90
반응형
안녕하세요
겉바속촉입니다
!^^!
!!파이썬 시작하기!!
이번에는 루프 코드에 대해서
알아보도록 하겠습니다
루프 코드
리스트 내 항목 처리
- for variable in list
- variable 에 list 안의 항목들이 하나씩 다 들어가며 루핑되는 것
문자열 내 항목 처리
- for variable in str
- variable 에 str 의 글자 하나하나를 넣어가며 루핑되는 것
수 범위 순회
- range(stop) -> range object
- range(start, stop[, step]) -> range object => 0부터 시작해서 stop 바로 전 정수까지의 순열 반환
range(3) = range(0, 3) = 0부터 3 전까지 = 0, 1, 2
list로 range를 받아올게요. 그래서 대괄호 안으로 0, 1, 2 가 들어가쥬?
다음과 같이 바로 넣어도 ok
range에 3가지를 입력하면 맨 뒤의 수가 의미하는 바는 step!!
range(1, 10, 2) = 1부터 10전까지 2씩 차이나도록 출력
range를 활용해서 for 루프 돌리는 것도 가능합니다:)
인덱스로 리스트 처리
리스트 내 모든 값을 두 배로 변경
values에 리스트 1,3,5,7,9를 넣었습니다
그리고 for ~ in~ 구조에 len함수 사용해서 0부터 4까지 범위를 설정했어요:)
values[0] *2 부터 values[4] *2 까지 출력이 되는 거에요
다음과 같이 해줘도 동일합니다
리스트로 출력!!
이번에는 men과 weights를 설정
원하는 출력값
반복문 작성
for 루프를 만드는 데
len(men) 으로 3을 만들고
range(len(men)) 으로 0,1,2 를 만듭니다
그럼 출력문을 짜주면 되겠죠:)
짜잔!!
루프 안에 중첩된 루프
문제1) 1부터 n 까지 곱셈표 출력
목표
1 | 2 | 3 | 4 | 5 | |
1 | 1 | 2 | 3 | 4 | 5 |
2 | 2 | 4 | 6 | 8 | 10 |
3 | 3 | 6 | 9 | 12 | 15 |
4 | 4 | 8 | 12 | 16 | 20 |
5 | 5 | 10 | 15 | 20 | 25 |
코드
# 가로 세로 표에 포함되는 수 (1 ~ 5)
numbers = list(range(1,6))
# 표의 가로 헤더 출력 ( 1 2 3 4 5 )
for i in numbers:
print('\t' + str(i), end='')
# 다음 줄로 출력을 넘김
print()
# 각 행 번호와 그 행의 내용을 출력
for i in numbers: #행을 제어
print(i, end='')
for j in numbers:
print('\t' + str(i * j), end='')
print()
일반화
def print_table(n: int) -> None:
# 가로 세로 표에 포함되는 수 (1 ~ 5)
numbers = list(range(1, n + 1))
# 표의 가로 헤더 출력 ( 1 2 3 4 5 )
for i in numbers:
print('\t' + str(i), end='')
# 다음 줄로 출력을 넘김
print()
# 각 행 번호와 그 행의 내용을 출력
for i in numbers: #행을 제어
print(i, end='')
for j in numbers:
print('\t' + str(i * j), end='')
print()
num = input('숫자를 입력하세요:')
print_table(int(num))
문제 2) 가변 리스트 (안쪽 리스트의 길이가 서로 다른 중첩 리스트) 순회
목표는 다음 시간들을 촤르륵 출력해내기
drinking_times_by_day = [["9:02", "10:17", "13:52", "18:23", "21:31"],
["8:45", "12:44", "14:52", "22:17"],
["8:55", "11:11", "12:34", "13:46", "15:52", "17:08", "21:15"],
["9:15", "11:44", "16:28"],
["10:01", "13:33", "16:45", "19:00"],
["9:34", "11:16", "15:52", "20:37"],
["9:01", "12:24", "18:51", "23:13"]]
for day in drinking_times_by_day:
for time in day:
print(time, end='\t')
print()
이제 요일 추가해서 각 줄 앞에 요일 출력해내기
days = ['월', '화', '수', '목', '금', '토', '일']
drinking_times_by_day = [["9:02", "10:17", "13:52", "18:23", "21:31"],
["8:45", "12:44", "14:52", "22:17"],
["8:55", "11:11", "12:34", "13:46", "15:52", "17:08", "21:15"],
["9:15", "11:44", "16:28"],
["10:01", "13:33", "16:45", "19:00"],
["9:34", "11:16", "15:52", "20:37"],
["9:01", "12:24", "18:51", "23:13"]]
for idx in range(len(days)):
print(days[idx], end='\t')
for time in drinking_times_by_day[idx]:
print(time, end='\t')
print()
728x90
반응형
'IT 일기 (상반기) > PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬_파일 읽기 (0) | 2021.01.05 |
---|---|
[PYTHON] 파이썬_루프 코드 반복(무한루프, 반복제어) (0) | 2021.01.05 |
[PYTHON] 파이썬_리스트(리스트메서드, 중첩리스트) (0) | 2021.01.05 |
[PYTHON] 파이썬_리스트(연산, 슬라이싱, 에일리어싱) (0) | 2021.01.05 |
[PYTHON] 파이썬_메서드 (0) | 2021.01.05 |