맛보기)
number = 1
while number <= 3 :
print(number)
number += 1
# 1
# 2
# 3
while문
- 반복횟수가 명확하지 않을 때
# '우리 반 최고'를 13번 출력해보기
num = 1
while num <= 13 :
print(f"{num} : 우리반 최고")
num += 1
# 1 : 우리반 최고
# 2 : 우리반 최고
# 3 : 우리반 최고
# 4 : 우리반 최고
# 5 : 우리반 최고
# 6 : 우리반 최고
# 7 : 우리반 최고
# 8 : 우리반 최고
# 9 : 우리반 최고
# 10 : 우리반 최고
# 11 : 우리반 최고
# 12 : 우리반 최고
# 13 : 우리반 최고
while True :
print("우리 반 최고")
break;
# 우리 반 최고
# continue : 어떤 특정 조건을 제외하고 싶을 때 사용
# continue를 만나면 continue 코드는 무시되고 다음 반복문을 실행
# 0 ~ 9의 숫자 중 홀수만 출력하는 반복문
number = 0
while number < 10 :
number += 1
if(number%2==0) :
continue
print(number)
# 1
# 3
# 5
# 7
# 9
while True :
num1 = int(input("첫 번째 정수 입력 >> "))
num2 = int(input("두 번째 정수 입력 >> "))
if(num1==0 and num2==0) :
print("프로그램이 종료되었습니다.")
break;
print(f"두 정수의 합 : {num1+num2}")
num1 = int(input("현재 몸무게 : "))
num2 = int(input("목표 몸무게 : "))
week = 1
while True :
a = int(input(f"{week}주차 감량 몸무게 : "))
week += 1
num1 -= a
if(num1 <= num2) :
print(f"{num1}kg 달성! 축하합니다!")
break
# 랜덤 숫자를 생성하는 모듈 불러오기
import random
a = random.randint(1, 10) # 1 ~ 10 범위 중 랜덤 수 1개 생성
import random
a = random.randint(1, 51)
while True :
num = int(input("숫자를 입력하세요 >> "))
if(num > a) :
print(f"{num}보다 작은 수 입니다.")
elif(num < a) :
print(f"{num}보다 큰 수 입니다.")
else :
print("정답을 맞추셨습니다.")
break
for문
-반복횟수가 명확할 때
lst_food = ['햄버거', '치킨', '피자']
# for 반복변수 in 시퀀스 자료형
for food in lst_food :
print(food)
# 햄버거
# 치킨
# 피자
len(lst_food)
# 3
# 문자열 반복
hi = "안녕"
print(hi)
# 안
# 녕
for greet in hi :
print(greet, end='')
# print() 함수의 출력 기본속성 -> 개행 :
# end ='' 속성을 지정하여 한 줄로 출력
# 안녕
len(greet)
# 1
score_list = [90, 45, 70, 60, 55]
for i in score_list :
if(i >= 60) :
print(f"{score_list.index(i)+1}번 학생은 합격입니다.")
else :
print(f"{score_list.index(i)+1}번 학생은 불합격입니다.")
lst4 = [["이범준", 3, "제로콜라"], ["이동훈", 6, "데자와"], ["강태호", 9, "사이다"],
["박현주", 4, "아이스티"], ["유상빈", 7, "스무디"]]
for i in lst4 :
print(f"{i[0]}는 {i[2]}를 좋아해")
# 이범준는 제로콜라 음료를 좋아해
# 이동훈는 데자와 음료를 좋아해
# 강태호는 사이다 음료를 좋아해
# 박현주는 아이스티 음료를 좋아해
# 유상빈는 스무디 음료를 좋아해
for: range()
- 필요한 만큼의 숫자를 만들어내는 유용한 기능
- 형식 : range(시작할 숫자, 종료할 숫자+1, 증감값)
- 종료할 숫자 : 슬라이싱과 같이 끝 값을 포함하지 않기 때문에 끝값을 표현하고자 할 때 +1을 해줘야 한다.
lst_food = ['햄버거', '치킨', '피자']
for i in range(1, len(lst_food)) :
print(i, lst_food[i])
# 1 치킨
# 2 피자
# range 함수를 사용하여 합격/불합격 여부 판별하기
score_list = [90, 45, 70, 60, 55]
for i in range(0, len(score_list)) :
if(score_list[i] >= 60) :
print(f"{i+1}번 학생은 합격입니다.")
else :
print(f"{i+1}번 학생은 불합격입니다.")
for i in range(97, 76, -1) :
print(i, end = " ")
# 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77
for i in range(23, 40) :
print(i, end = " ")
# 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
- min, max 함수
- 선언한 자료구조(리스트, 튜플)에서 가장 큰 값, 가장 작은 값을 찾아주는 함수
lst10 = [4, 5, 2, 1, 99, 15, 37, 71, 27]
# lst10에서 가장 작은 수 구하기
min(lst10)
# lst10에서 가장 큰 수 구하기
max(lst10)
# 1 ~ 100 사이의 숫자 중 3의 배수의 합을 구하기
result = 0
for i in range(1, 101) :
if(i%3==0) :
result += i
print(result)
# 1683
파이썬에서 파일을 읽고 쓰기
- 파이썬 내장함수 open() 사용
=> f.open()하고 f.close()로 닫아줘야 함.
- with문 사용
=> with open("파일명", 파일열기모드) as f :
f.write()
pickle
- 파이썬에서 리스트, 튜플 등의 자료구조 형태를 유지하면서 파일로 저장, 불러올 때 사용하는 모듈
- 규칙이 있는 데이터의 형식을 유지하면서 데이터를 저장
- 바이너리 형태로 저장 (저장용량이 다른 파일구조에 비해서 작다)
- 불러올 때 : rb(read binary), 저장할 때 : wb(write binary)
예제) 멜론차트 Top100 활용해서 데이터를 분석해보고 나만의 차트를 만들기
# 멜론차트 데이터를 불러와서 데이터 확인해보기
# with문 사용
import pickle
with open('music_100.pkl', 'rb') as f :
music = pickle.load(f)
music
search = str(input("제목 중 찾고 싶은 키워드를 입력하세요 >> "))
cnt = 0
for i in range(100) :
if search in music[i][1] :
cnt += 1
print(f"'{search}'으로 검색한 노래 수 : {cnt}곡")
print("순위와 노래 제목 : ")
for i in range(100) :
if search in music[i][1] :
print(music[i])
search = str(input("제목 중 찾고 싶은 키워드를 입력하세요 >> "))
cnt = 0
lst16 = []
for i in music :
if search in i[1] :
cnt += 1
lst16.append([i[0], i[1]])
print(f"'{search}'으로 검색한 노래 수 : {cnt}곡")
print(f"순위와 노래 제목 : {lst16}")
search = str(input("제목 중 찾고 싶은 키워드를 입력하세요 >> "))
cnt = 0
lst17 = []
for i in music :
if search in i[1] :
cnt += 1
lst17.extend([i[ : 2]])
print(f"'{search}'으로 검색한 노래 수 : {cnt}곡")
print(f"순위와 노래 제목 : {lst17}")
del music[0]
music
music.insert(0, [1, "Attention", "뉴진스"])
music
music[:5]
name = "임영웅"
for i in music :
if name in i[2] :
i[2] = "박현주"
name = '임영웅' # 바꿀 가수이름
my_song = [] # 나의 곡 리스트를 담을 빈 리스트
cnt = 0 # 전체 나의 곡수를 표시할 변수
for i in music :
if i[2] == "이수하" :
i[2] = name
my_song.append([i[0], i[1], i[2]]) # my_song.extend([i[:3]])
cnt += 1
print(f"melon 차트 속 나의 노래 : 총 {cnt} 곡")
my_song
# 내가 만든 나만의 멜론차트를 파일로 저장하기
with open('mymelon.pkl', 'wb') as f :
pickle.dump(music, f)
# 내 파일 불러오기
with open('mymelon.pkl', 'rb') as f :
my = pickle.load(f)
댓글