정리
- 함수를 만들면서 list와 dict를 잘 이용하지 못하고 있다. 값을 입력해서 list나 dict를 통해 값의 위치(?)를 지정하는 것에 집중하며 공부하자.
- list 사용 시 for문을 반복하는 코드를 작성할 때 버벅이고 틀리는 경향이 있다. 많이 적어보자..!!
필기
while문
- while문은 아직도 익숙하지가 않다. for문과 비교하여 기억하자.

i = 1
while i <= 10:
print(i)
i += 1
num = (input("숫자를 입력하세요(0~9) : "))
while ord(num)<48 or ord(num)>57:
print("문자 말고 숫자쓰세요. 마지막 기회입니다. ")
num = input("숫자로 입력하세요(0~9): ")
i = 1
sum = 0
while sum < 1000:
sum = sum + i
i = i + 1
print(f"1000은 {i}번째에 넘습니다.")
다중 for문
- 첫번째 루프를 돌려놓고 그 첫번째 루프 안에 루프를 돌린다.

for i in range(1,6):
for j in range(1,6):
print(f"i = {i}, j = {j}")
k = 1
for i in range(0,10):
for j in range(0,10):
print(k, end = "\t")
k = k + 1
print()
1 = 1
1 + 2 = 3
1 + 2 + 3 = 6
sum = 0
for i in range(1,11):
for j in range(1,i+1):
if j<i:
print(j, end = "+")
else:
print(j, end = "=")
sum += j
print(sum)
for i in range(0,10):
for j in range(0,i):
print("*", end = "")
print()
"""
* 별 1 공백 3 , 별의 개수 : 2*라인수-1, 공백 : 4-라인수
*** 별 3 공백 2
***** 별 5 공백 1
******* 별 7 공백 0
***** 별 5 공백 1
*** 별 3 공백 2
* 별 1 공백 3
"""
lines = 4
for i in range(1, lines+1):
print(" " * (lines-i), end ="")
print(("*") * (2*i-1))
for i in range(lines-1,0,-1):
print(" " * (lines-i), end ="")
print(("*") * (2*i-1))
함수
- 함수 이 친구 맘에 든다. 지금까지는 노가다로 코드를 만들었어야 했는데 아주 간편하다. 하지만 아직 함수를 만드는 것에 익숙하지 않은 상태이다. 함수의 이름(어떤 기능을 하는 친구인지 명확하게 표현), 매개변수에 어떤 값이 들어가 계산이 되는 지에 집중하며 함수를 만들자.
def Sigma(limit):
sum = 0
for i in range(1,limit+1):
sum += i
return sum
print(Sigma(10))
print(Sigma(100))
print(Sigma(200))
print(Sigma(300))
print(Sigma(400))
주급_list 활용
name_list = []
work_timeList = []
per_payList = []
payList = []
for i in range(0,5):
name = input("이름 : ")
work_time = int(input("일한 시간 : "))
per_pay = int(input("시급 : "))
name_list.append(name)
work_timeList.append(work_time)
per_payList.append(per_pay)
for i in range(0,5):
total = work_timeList[i] * per_payList[i]
payList.append(total)
for i in range(0,5):
print(f"{name_list[i]} {work_timeList[i]} {per_payList[i]} {payList[i]}")
for i in range(0,2):
name = input("이름을 입력: ")
work_time = int(input("근무 시간을 입력: "))
per_pay = int(input("시급을 입력 : "))
name_list.append(name)
work_timeList.append(work_time)
per_payList.append(per_pay)
for i in range(0,len(name_list)):
total = work_timeList[i] * per_payList[i]
payList.append(total)
for i in range(0,len(name_list)):
print((name_list[i]), int((work_timeList[i])), int((per_payList[i])))
주급_dict 활용
worker = {}
person_List = [{"name":"홍길동", "work_time":40, "per_pay":10000},
{"name":"임꺽정", "work_time":30, "per_pay":20000},
{"name":"장길산", "work_time":20, "per_pay":30000}
]
for worker in person_List:
worker["pay"] = worker["work_time"] * worker["per_pay"]
for worker in person_List:
print(f"{worker["name"]} {worker["work_time"]} {worker["per_pay"]}")
worker_list = []
for i in range(0,2):
name = input("이름 : ")
worktime = int(input("근무시간 : "))
hourpay = int(input("시급 : "))
worker= {}
worker["name"] = name
worker["worktime"] = worktime
worker["hourpay"] = hourpay
worker_list.append(worker)
for worker in worker_list:
worker["total"] = worker["worktime"] * worker["hourpay"]
for worker in worker_list:
print(f"{worker["name"]}{worker["total"]}")
성적처리_dict(김성재)
student = {}
person_List = [{"name":"김성재","kor":85,"eng":70,"math":90},
{"name":"김단추","kor":60,"eng":70,"math":80},
{"name":"박서현","kor":10,"eng":15,"math":20}]
for student in person_List:
student["total"] = student["kor"] + student["eng"] + student["math"]
student["average"] = student["total"] / 3
for student in person_List:
print(f"{student["name"]}님의 국어점수는 {student["kor"]} ,영어점수는 {student["eng"]} ,수학점수는 {student["math"]} ,합계는 {student["total"]}, 평균은 {student["average"]:0.2f}입니다.")
성적처리_dict(백현숙강사님)
scoreList = []
for i in range(0,4):
name = input("이름 : ")
kor = int(input("국어 : "))
eng = int(input("영어 : "))
mat = int(input("수학 : "))
score={}
score["name"]= name
score["kor"] = kor
score["eng"] = eng
score["mat"] = mat
scoreList.append(score)
for i in range(0, len(scoreList)):
score = scoreList[i]
score["total"] = score["kor"] + score["eng"] + score["mat"]
score["avg"] = score["total"]//3
for i in range(0, len(scoreList)):
score = scoreList[i]
if score["avg"]>=90:
score["grade"] = "수"
elif score["avg"]>=80:
score["grade"] = "우"
elif score["avg"]>=70:
score["grade"] = "미"
elif score["avg"]>=60:
score["grade"] = "양"
else:
score["grade"] = "가"
for score in scoreList:
print( f"{score["name"]}", end="\t")
print( f"{score["kor"]}", end="\t")
print( f"{score["eng"]}", end="\t")
print( f"{score["mat"]}", end="\t")
print( f"{score["total"]}", end="\t")
print( f"{score["avg"]}", end="\t")
print( f"{score["grade"]}")
성적처리_list(김성재)
name_list = []
kor_list = []
eng_list = []
math_list = []
total_list = []
average_list = []
grade_list = []
for i in range(3):
name = input("이름은? ")
name_list.append(name)
kor = int(input("국어 점수는? "))
kor_list.append(kor)
eng = int(input("영어 점수는? "))
eng_list.append(eng)
math = int(input("수학 점수는? "))
math_list.append(math)
total = kor + eng + math
total_list.append(total)
average = total // 3
average_list.append(average)
for i in range(3):
if average_list[i] >= 90:
grade = "수"
elif average_list[i] >= 80:
grade = "우"
elif average_list[i] >= 70:
grade = "미"
elif average_list[i] >= 60:
grade = "양"
else:
grade = "가"
grade_list.append(grade)
namelist = []
korlist = []
englist = []
mathlist = []
totallist = []
avelist = []
gradelist = []
for i in range(3):
name = input("이름을 입력: ")
kor = int(input("국어점수는 :"))
eng = int(input("영어점수는 :"))
math = int(input("수학점수는 :"))
namelist.append(name)
korlist.append(kor)
englist.append(eng)
mathlist.append(math)
for i in range(len(namelist)):
total = kor + eng + math
totallist.append(total)
ave = total / len(namelist)
avelist.append(ave)
for i in range(len(namelist)):
if avelist[i] > 90:
grade = "수"
elif avelist[i] > 80:
grade = "우"
elif avelist[i] > 70:
grade = "미"
elif avelist[i] > 60:
grade = "양"
else: grade = "가"
gradelist.append(grade)
for i in range(len(namelist)):
print(namelist[i], korlist[i], englist[i], mathlist[i])
성적처리_list(백현숙강사님)
nameList=[]
korList=[]
engList=[]
matList=[]
totalList=[]
avgList=[]
gradeList=[]
for i in range(0,4):
name = input("이름 : ")
kor = int(input("국어 : "))
eng = int(input("영어 : "))
mat = int(input("수학 : "))
nameList.append(name)
korList.append(kor)
engList.append(eng)
matList.append(mat)
for i in range(0, len(nameList)):
total = korList[i] + engList[i] + matList[i]
avg = total/3
totalList.append(total)
avgList.append(avg)
for i in range(0, len(nameList)):
grade =""
if avgList[i]>=90 :
grade = "수"
elif avgList[i]>=80 :
grade = "우"
elif avgList[i]>=70 :
grade = "미"
elif avgList[i]>=60 :
grade = "양"
else:
grade="가"
gradeList.append( grade )
for i in range(0, len(nameList)):
print(f"{nameList[i]}", end="\t")
print(f"{korList[i]}", end="\t")
print(f"{matList[i]}", end="\t")
print(f"{engList[i]}", end="\t")
print(f"{totalList[i]}", end="\t")
print(f"{avgList[i]}", end="\t")
print(f"{gradeList[i]}")
지방노동청(김성재)
workerlist = []
wagelist = []
for i in range(3):
sex = input("성별을 입력하세요 : 남 or 여 ")
wage = int(input("연봉을 입력하세요 : "))
workerlist.append({"sex" : sex, "wage" : wage})
male_count = 0
female_count = 0
male_sum = 0
female_sum = 0
for i in workerlist:
if i["sex"] == "남":
male_count = male_count + 1
male_sum = male_sum + i["wage"]
else:
female_count = female_count + 1
female_sum = female_sum + i["wage"]
male_ave = male_sum / male_count
female_ave = male_sum / male_count
print(male_ave)
print(female_ave)
지방노동청(백현숙강사님)
workerList = []
for i in range(0,10):
gender = input("성별(남자 or 여자로 적으세요) : ")
salary = int(input("연봉 : "))
workerList.append({"gender" : gender, "salary":salary})
male_count = 0
female_count = 0
male_sum = 0
female_sum = 0
for i in workerList:
if i["gender"] == "남자":
male_count += 1
male_sum += i["salary"]
else:
female_count += 1
female_sum += i["salary"]
if male_count > 0:
print(f"남자 평균 : {int(male_sum/male_count)}")
if female_count > 0:
print(f"여자 평균 : {(female_sum/female_count)}")
과제
짝수반환_함수(김성재)
num = int(input("정수를 입력하세요"))
def check_even(num):
if num % 2 == 0:
return True
else:
return False
result = check_even(num)
print(result)
윤년_함수(김성재)
year = int(input("연도를 입력하세요"))
def check_yoonyear(year):
if year % 400 == 0:
year = True
elif year % 100 == 0:
year = False
elif year % 4 == 0:
year = True4
else:
year = False
return year
print(check_yoonyear(year))
def is_leapYear(year):
if year % 4 == 0:
if year % 100 == 0 and year % 400 != 0:
return False
else:
return True
else:
return False
year = int(input("년도를 입력하세요: "))
print(is_leapYear(year))
짝수반환_함수(백현숙강사님)
def isEven(n):
if n % 2 == 0:
return True
return False
print(isEven(int(input("숫자를 입력하세요"))))
윤년_함수(백현숙강사님)
def isLeap(year):
if (year % 4 ==0 and year % 100 != 0) or year % 400 ==0:
return True
return False
print(isLeap(int(input("년도를 입력하세요"))))