
students = ['홍길동', '박찬호', '이용규', '박찬호', '김지은']
for i in range(len(students)):
print(students[i])
for student in students:
print(student)
for i in range(len(studentCnts)):
print(f'{studentCnts[i][0]}학급 학생수: {studentCnts[i][1]}')
# => 이 방법은 코드 쓰기도 불편하고 가독성이 떨어짐
studentCnts = [[1, 19], [2, 20], [3,22]]
for classNo, cnt in studentCnts:
print(f'{classNo}학급 학생수: {cnt}')
<Output>
1학급 학생수: 19
2학급 학생수: 20
3학급 학생수: 22
< 파이썬 실습>
minScore = 75
scores = [['kor', 50], ['eng', 100], ['math',70]]
for subject, score in scores:
if score < minScore:
print(f'{subject} 과목 {score}점으로 점수 미달, 과락되었습니다. ')
for subject, score in scores:
if score >= minScore: continue
print(f'{subject} 과목 {score}점으로 점수 미달, 과락되었습니다. ')
for item in scores:
if item[1] < minScore:
print(f'{item[0]} 과목 {item[1]}점으로 점수 미달, 과락되었습니다. ')
<Output>
kor 과목 50점으로 점수 미달, 과락되었습니다.
math 과목 70점으로 점수 미달, 과락되었습니다.
students = ['홍길동', '박찬호', '이용규', '박찬호', '김지은']
n = 0
while n < len(students):
print(students[n])
n += 1
n = 0
flag = True
while flag:
print(students[n])
n += 1
if n == len(students):
flag = False
n=0
while True:
print(students[n])
n += 1
if n ==len(students):
break
<Output>
홍길동
박찬호
이용규
박찬호
김지은
minScore = 75
scores = [['kor', 50], ['eng', 100], ['math',70]]
n=0
while n < len(scores):
if scores[n][1] < minScore:
print(f'{scores[n][0]} 과목 {scores[n][1]}점으로 점수 미달, 과락되었습니다. ')
n += 1
n=0
while True:
if scores[n][1] < minScore:
print(f'{scores[n][0]} 과목 {scores[n][1]}점으로 점수 미달, 과락되었습니다. ')
n += 1
if n == len(scores):
break
<Output>
kor 과목 50점으로 점수 미달, 과락되었습니다.
math 과목 70점으로 점수 미달, 과락되었습니다.
str = 'Hello'
for idx, value in enumerate(str):
print(f'{idx+1}번째 문자열: {value}')
sports = ['농구', '배구', '축구', '야구']
for idx, value in enumerate(sports):
print(f'{idx+1}번째 스포츠: {value}')
<Output>
1번째 문자열: H
2번째 문자열: e
3번째 문자열: l
4번째 문자열: l
5번째 문자열: o
1번째 스포츠: 농구
2번째 스포츠: 배구
3번째 스포츠: 축구
4번째 스포츠: 야구
# 실습: 사용자가 입력한 문자열에서 공백의 개수를 출력해보자.
str = input('문자열 입력: ')
n = 0
for idx, value in enumerate(str):
if value == ' ':
n += 1
print(f'{idx+1}번째 값은 공백')
print(f'<{str}>에서 공백은 총 {n}개입니다.')
<Output>
문자열 입력: 안 녕 하 세 요? 만나서 반갑습니다.
2번째 값은 공백
4번째 값은 공백
6번째 값은 공백
8번째 값은 공백
11번째 값은 공백
15번째 값은 공백
<안 녕 하 세 요? 만나서 반갑습니다.>에서 공백은 총 6개입니다.
# 오름차순으로 정렬되어 있는 숫자들에 사용자가 입력한 정수를 추가하는 프로그램 만들기 (추가 후에도 오름차순 정렬은 유지되어야 함)
numbers = [1, 3, 8, 10, 25, 39, 42, 50]
inputNumber = int(input('숫자 입력: '))
insertIdx = 0
for idx, value in enumerate(numbers):
if insertIdx == 0 and inputNumber < value:
insertIdx = idx
numbers.insert(insertIdx, inputNumber)
print(numbers)
<Output>
숫자 입력: 14
[1, 3, 8, 10, 14, 25, 39, 42, 50]
sports = ['농구', '배구', '축구', '야구']
print(f'sports: {sports}')
sportsPop = sports.pop() #삭제한 아이템이 담김
print(f'sportsPop: {sportsPop}')
print(f'pop(): {sports}')
sports = ['농구', '배구', '축구', '야구']
sportsPop1 = sports.pop(1) #삭제한 아이템이 담김
print(f'sportsPop1: {sportsPop}')
print(f'pop(1): {sports}')
--------------------------------------------------
<Output>
sports: ['농구', '배구', '축구', '야구']
sportsPop: 야구
pop(): ['농구', '배구', '축구']
sportsPop1: 야구
pop(1): ['농구', '축구', '야구']
sports = ['농구', '배구', '축구', '야구']
sports.remove('축구')
print(f'sports.remove(\'축구\'): {sports}')
<Output>
sports.remove('축구'): ['농구', '배구', '야구']
--------------------------------------------------
sports = ['농구', '배구', '축구', '야구', '축구']
while '축구' in sports:
sports.remove('축구')
print(f'sports에서 모든 \'축구\' 삭제: {sports}')
<Output>
sports에서 모든 '축구' 삭제: ['농구', '배구', '야구']
group1 = ['유재석', '하하', '박명수']
group2 = ['장원영', '차은우']
print(f'group1: {group1}')
print(f'group2: {group2}')
group1.extend(group2)
print(f'extend 후 group1: {group1}')
print(f'extend 후 group2: {group2}')
group1 = ['유재석', '하하', '박명수']
group2 = ['장원영', '차은우']
result = group1 + group2
print(f'덧셈 후 group1: {group1}')
print(f'덧셈 후 group2: {group2}')
print(f'덧셈한 result: {result}')
<Output>
group1: ['유재석', '하하', '박명수']
group2: ['장원영', '차은우']
extend 후 group1: ['유재석', '하하', '박명수', '장원영', '차은우']
extend 후 group2: ['장원영', '차은우']
덧셈 후 group1: ['유재석', '하하', '박명수']
덧셈 후 group2: ['장원영', '차은우']
덧셈한 result: ['유재석', '하하', '박명수', '장원영', '차은우']
group = ['유재석', '하하', '박명수', '장원영', '차은우']
group.sort()
print(f'group.sort(): {group}')
group.sort(reverse=True)
print(f'group.sort(reverse=True): {group}')
<Output>
group.sort(): ['박명수', '유재석', '장원영', '차은우', '하하']
group.sort(reverse=True): ['하하', '차은우', '장원영', '유재석', '박명수']
group = ['유재석', '하하', '박명수', '장원영', '차은우']
group.reverse()
print(f'group.reverse: {group}')
<Output>
group.reverse: ['차은우', '장원영', '박명수', '하하', '유재석']
group = ['유재석', '하하', '박명수', '장원영', '차은우', '이제훈']
print(f'group: {group}')
print(f'group[1:3]: {group[1:3]}')
print(f'group[:2]: {group[:2]}')
print(f'group[2:]: {group[2:]}')
print(f'group[2:-2]: {group[2:-2]}') #-1: 이제훈, -2: 차은우 이기 때문에 -3:장원영까지임.
print(f'group[-5:-2]: {group[-5:-2]}') #-5:하하 ~ -3: 장원영
<Output>
group: ['유재석', '하하', '박명수', '장원영', '차은우', '이제훈']
group[1:3]: ['하하', '박명수']
group[:2]: ['유재석', '하하']
group[2:]: ['박명수', '장원영', '차은우', '이제훈']
group[2:-2]: ['박명수', '장원영']
group[-5:-2]: ['하하', '박명수', '장원영']
--------------------------------------------------
numbers = [0,1,2,3,4,5,6,7,8,9]
print(f'numbers: {numbers}')
print(f'numbers[2:-2]: {numbers[2:-2]}')
print(f'numbers[2:-2:3]: {numbers[2:-2:3]}') #세번쨰 인자인 3은 처음 아이템부터 3번째 아이템 간격으로 추출
print(f'numbers[:-2:2]: {numbers[:-2:2]}') # 처음 아이템부터 -3까지 추출하는데 2개 간격으로 추출
print(f'numbers[::2]: {numbers[::2]}') #모든 아이템 추출하는데 2개 간격으로 추출
<Output>
numbers: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers[2:-2]: [2, 3, 4, 5, 6, 7]
numbers[2:-2:3]: [2, 5]
numbers[:-2:2]: [0, 2, 4, 6]
numbers[::2]: [0, 2, 4, 6, 8]
--------------------------------------------------
numbers[1:4] = [10, 20, 30]
print(f'numbers 1:4 변경한 결과: {numbers}')
<Output>
numbers 1:4 변경한 결과: [0, 10, 20, 30, 4, 5, 6, 7, 8, 9]
----------------slice() 사용하기-------------------------------
numbers = [0,1,2,3,4,5,6,7,8,9]
print(f'numbers: {numbers}')
print(f'numbers[slice(2,4)]: {numbers[slice(2,4)]}')
print(f'numbers[slice(4)]: {numbers[slice(4)]}')
print(f'numbers[slice(2, len(numbers)-2)]: {numbers[slice(2, len(numbers)-2)]}')
print(f'numbers[slice(len(numbers)-5, len(numbers)-2)]: {numbers[slice(len(numbers)-5, len(numbers)-2)]}')
<Output>
numbers: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers[slice(2,4)]: [2, 3]
numbers[slice(4)]: [0, 1, 2, 3]
numbers[slice(2, len(numbers)-2)]: [2, 3, 4, 5, 6, 7]
numbers[slice(len(numbers)-5, len(numbers)-2)]: [5, 6, 7]
numbers = [0,1,2,3,4,5]
print(f'numbers: {numbers}')
print(f'numbers: {numbers*3}')
<Output>
numbers: [0, 1, 2, 3, 4, 5]
numbers: [0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5]
group = ['유재석', '차은우', '하하', '박명수', '장원영', '차은우']
print(group.index('차은우'))
print(group.index('차은우', 2, len(group))) #2부터 끝까지 중에 '차은우'의 위치는 어디있느냐
<Output>
1
5
group = ['유재석', '차은우', '하하', '박명수', '장원영', '차은우']
print(f'group.count(\'차은우\'): {group.count('차은우')}')
print(f'group.count(\'안유진\'): {group.count('안유진')}')
<Output>
group.count('차은우'): 2
group.count('안유진'): 0
group = ['유재석', '차은우', '하하', '박명수', '장원영', '차은우']
print(f'group: {group}')
del group[1]
print(f'del group[1]: {group}')
del group[1:4]
print(f'del group[1:4]: {group}')
<Output>
group: ['유재석', '차은우', '하하', '박명수', '장원영', '차은우']
del group[1]: ['유재석', '하하', '박명수', '장원영', '차은우']
del group[1:4]: ['유재석', '차은우']
isinstance(리스트형변수, list)
...
True