인사말
안녕하세요!
오늘은 문제를 더 많이 풀어보면서
제 코딩 실력을 확인하고, 증진하려고 해요!
하루종일 문제를 풀어댈 거랍니다 😋
오전(09 : 00 ~ 13 : 00)
오늘은 튜터 님께 어제 받은 6가지 문제를 풀어보았어요!
개념 강의는 많이 들었지만,
막상 문제를 풀려고 하니까 막막하더라구요..??
코드를 전혀 짜내질 못 했습니다 👀
그래서
이전에 공부하면서 손으로 적어두었던
노트와 python 자료들을 하나하나 다시 읽으면서 해보았어요
#1 숙제
Hello World를 5번 출력
#1 Hello World를 5번 출력
a = 5
print(type(a))
while a > 0:
print("Hello World")
a -= 1
#결과값
<class 'int'>
Hello World
Hello World
Hello World
Hello World
Hello World
a = 5라고 입력한 이유가
총 5번을 반복하려고 했기 때문에 넣었구요
혹시 타입이 뭘로 나오는지도 궁금해서 해봤습니다
정수로 표시되는 Int()로 나오더라구요!
그리고
조건식이 거짓이 되면 계산이 종료되는 while을 작성 후
범위값이 없으면 무한동력으로 돌아가기 때문에
a > 0:으로 범위값 설정해주고
제가 원하는 print("Hello World")를 입력해주었습니다
마지막으로
a 값이 점점 줄어들기 위하여
a -= 1이라는 조건을 넣어서 완성하였습니다!
#4 숙제
Hello World 4번 출력
b = [1,2,3,4]
print(type(b))
for i in b:
print("Hello World")
if b != [1,2,3,4]:
break
#결괏값
<class 'list'>
Hello World
Hello World
Hello World
Hello World
앞서 동일안 문제이지만 이번엔 다르게 풀어보았습니다
for을 사용하여 풀어보았는데요!
for은 리스트, 튜플, 문자열을 받아서 하기 때문에
b = [1,2,3,4]로 설정하였습니다! 총 4개를 출력할 거니까요
b가 list로 잘 들어갔는지 type()으로 확인해주고
for i in b:
출력하려는 print("Hello World")을 입력 후
for은 순차적으로 계속 순회하기 때문에 break를 써서 멈춰주었습니다.
멈추기 위하여 조건식을 붙여줬구요
if b != [1,2,3,4]:
break으로요!
list에 4개의 값이 있기 때문에 결괏값에도 Hello World가 4개 출력되었습니다!
너무 재밌네요!
#5 숙제
numbers = [1, 2, 3, 4, 5]
순회를 돌아 numbers 요소 출력
#5 순회를 돌아 numbers 요소 출력
numbers = [1,2,3,4,5]
for i in numbers:
print(i)
#결괏값
1
2
3
4
5
"순회"라는 단어에 힌트를 얻어서 for문으로 완성하였습니다
for문은 리스트, 튜플, 문자열 타입을 순차적으로 순회하죠?
그래서 for문 양식대로 입력하여 원하는 결괏값을 도출하였습니다.
#6 숙제
1부터 4까지 합 계산
e = [1,2,3,4]
print(sum(e))
#결괏값
10
[]이 괄호를 사용하면 그 값은 리스트가 되잖아요?
튜플()로 입력하려다가 값이 바뀔수도 있기 때문에
[]괄호를 써서 입력하였습니다
그 뒤로는 print(sum(e))를 작성하여 결괏값을 도출하였습니다.
#2 숙제
1부터 44까지 짝수만 출력
#2 1부터 44까지 짝수만 출력
c = 1
while c <45:
if c %2 == 0:
print(c)
c += 1
#결괏값
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
c로 시작 숫자를 알려주고
While c > 45:라는 범위값을 설정한 후
if c%2 ==0: 이면 짝수죠? 그래서 조건식을 붙였습니다
print(c)를 해준 뒤
c 값이 +=1 씩 증가할 거라고 조건식도 넣어주었습니다
그리하여 1 ~ 44까지의 범위 중 짝수들만 도출하였습니다!
#3 숙제
1부터 44까지 짝수는 *4, 홀수는 그냥 출력
#3 1부터 44까지 짝수는 * 4, 홀수는 그냥 출력 (모르겠음)
f = 1
while f <45:
if f %2 == 0:
if f %2 != 0:
여기서 뇌정지 왔습니다.. 모르겠더라구요
그래서 점심시간(13:00 ~ 14:00) 되기 전까지
계속 컨펌 받으면서 문제를 풀어 보았습니다.
[추가 숙제_1]
for문, range 함수를 사용해서 2부터 44까지 출력
g = range(2,45,1)
for i in g:
print(i)
#결괏값
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
range()함수를 마침 어제 배웠어서
아직은 따끈따끈하게 머리에 남아있었어요
그래서
g = range(2,45,1)로 하였고
for i in g:
print(i)를 하여 2부터 44까지 결괏값을 도출했습니다.
range()를 직접 써보니까 편하더라구요!
금방 숫자들이 우다다 나와서 편했습니다
[추가 숙제_2]
for문, range 함수를 사용해서
2부터 44까지 짝수 출력
#3번을 풀기 위한 절차_2_짝수만
h = range(2,45,2)
for i in h:
print(i)
#결괏값
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
짝수만 출력할 거기 때문에
range(시작, 끝, 스탭) 중 스탭의 값을 2로 해주었습니다
h = range(2, 45, 2)
for i in h:
print(i)를 하니까 짝수만 도출되었습니다!
[추가 숙제_3]
1부터 44까지 짝수만 출력_for, range, if문으로
#2 1부터 44까지 짝수만 출력_for, range, if문으로
j = range(1,45,1)
for i in j:
if i % 2 == 0:
print(i)
#결괏값
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
이번에는 if문이 추가 되었습니다
range()로 범위값 설정해주고 for i in j:로 완성 후
if 조건문
if i %2==0:일 때 print(i)가 되도록 하였습니다
원하는 값도 그대로 도출되었구요!
이렇게 추가 숙제를 받으니까 숙제3 번도 풀 수 있겠지! 하고 다시 풀어봤습니다.
계속 문제로 던져주시면서 스스로 깨닫게 도와주셔서 튜터 님께 넘 감사하더라구요 ㅠㅠ
감사합니다 튜터 님 ㅠㅠㅠ ❤️
#숙제3
#1부터 44까지 짝수는 * 4, 홀수 그냥 출력
#3 1부터 44까지 짝수는 *4, 홀수는 그냥 출력_Retry
k = range(1,45,1)
for i in k:
if i %2 == 0:
print(i*4)
if i %2 != 0:
print(i)
#결괏값
1
8
3
16
5
24
7
32
9
40
11
48
13
56
15
64
17
72
19
80
21
88
23
96
25
104
27
112
29
120
31
128
33
136
35
144
37
152
39
160
41
168
43
176
해낸 제 자신한테도 너무 신기했어요!!! 진짜 재밌더라구요!!
역시 하다보면 재미를 붙일 거 같았습니다!
너무 짜릿하고 너무 행복했어요!! 😖
여기까지 올 수 있게끔 도와주신
팀원 분들, 9기 동기 분들, 튜터 님께 압도적 감사 인사를 드립니다 ㅠㅠ ❤️
오후 (14 : 00 ~ 16 : 00)
오후 시간이 되자마자 코드를 왜 이렇게 짰는지 설명 드렸어요!
컨펌 받은 문제는 이거였습니다!
#4 Hello World를 4번 출력
b = [1,2,3,4]
print(type(b))
for i in b:
print("Hello World")
if b != [1,2,3,4]:
break
제가 여기서 for문을 썼죠?
for문에는 리스트 안에 있는 개수가 곧 횟수이기 때문에
굳이 break를 넣지 않아도 된다고 하시더라구요!
그러시면서 화면 공유로 예시를 들어서 설명 해주시는데 🥹
이해가 쏘옥 쏙쏙 잘 돼서 감격스러웠습니다 😖
역시! 매번 느끼지만,
모르겠을 땐 이해 될 때까지 질문하는 게 짱이에요!
컨펌의 결론은!
for문과 while문의 차이점을 알면 좋겠다고 하셨어요
그리고
for문과 range()함수를 같이 쓰면 편한데,
이 이유를 몸소 문제를 풀면서 깨달으면 좋을 거 같다는 말씀과 함께
숙제 4개를 더 받았습니다 ㅎㅎ;
그리고
for문을 쓸 때 in 뒤에 바로 range() 넣으면 편하다고 해주셨습니다!
다음엔 in 뒤에 바로 적용 해보려구요!
챙겨주시고, 마음 써주시는 튜터 님께 감사의 말씀 전하옵니다 🫶
저!
많이 틀릴 거구요!
많이 배워가겠습니다!
냠미~😋
오후2 (16 : 00 ~18 : 00) ~ 저녁 (19 : 00 ~ 21 : 00)
오늘은 Chat GPT가 만들어준 딕셔너리 문제들을 팀원분들과 풀어보고 해설하기로 해서
튜터 님께서 주신 문제는 내일 풀 예정이구요!
이제부터는 딕셔너리 문제를 풀어볼 겁니다!
문제는 Chat GPT한테 내달라고 해서 얻어냈구요
초급 ~ 고급까지 총 10문제 받았습니다
오늘은 초급 2문제 중급 2문제만 풀어보았습니다!
<문제 1_초급>
# 문제1 : 주어진 `student` 딕셔너리에서 학생의 이름과 점수를 출력하는 프로그램을 작성하세요.
# student = {'name': '홍길동','age': 20,'score': 85}
# 출력 예시
# 이름: 홍길동, 점수: 85
student = {
'name': '홍길동',
'age': 20,
'score': 85}
print("이름:", student['name'],"점수:", student['score'])
#결괏값
이름: 홍길동 점수: 85
출력값에 "이름: 홍길동 점수: 85" 이렇게 출력해야 하잖아요
print("홍길동") 이렇게는 익숙한데 클론이 들어간 문장 만들기는 낯설더라구요
그래서
print("이름:", student['name'],"점수:", student['score'])
이렇게까지 시행착오가 많이 일어났습니다..
print("이름": student['name'],"점수": student['score'])
print("이름":, student['name'],"점수":, student['score'])
print("이름:", student['name'],"점수:", student['score'])
변천사입니다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
헷갈려 하는 모습이 눈에 잘 보여서 너무 웃기네요
어쨌든 해냈고! 알아내서 오히려 좋았습니다 😋
더 많이 틀려볼 예정입니다.
<문제 2_초급>
# 문제2 주어진 딕셔너리에서 score 값을 90으로 수정하고, 전체 딕셔너리를 출력하세요.
# student = {'name': '김철수','age': 22,'score': 78}
# 출력 예시 : {'name': '김철수', 'age': 22, 'score': 90}
student_2 = {'name': '김철수','age': 22,'score': 78}
student_2['score'] = 90
print(student_2)
#결괏값
{'name': '김철수', 'age': 22, 'score': 90}
우연찮게 유튜브로 "1분 파이썬 (22) 딕셔너리"를 보게 되어서
https://www.youtube.com/playlist?list=PLMsa_0kAjjrcxiSJnHNfzBN71D3zpYtkX
자주 쓰이는 메쏘드들을 막 배웠거든요!
그게 생각이 나서 바로 적용하였습니다
student_2['score'] = 90
추가하거나 수정할 때
student_2['key'] = 'value' 를 쓰면 됩니다!
<문제 3_중급>
# 문제 3: student 딕셔너리에 새로운 항목 major (전공)을 추가하고 출력하는 프로그램을 작성하세요. (중급)
# student = {'name': '이영희','age': 21,'score': 92}
# 출력 예시 : {'name': '이영희', 'age': 21, 'score': 92, 'major': '컴퓨터공학'}
student_3 = {'name': '이영희','age': 21,'score': 92}
student_3['major'] = '컴퓨터공학'
print(student_3)
student_3['major'] = '컴퓨터공학'
앞서 추가 및 수정 할 때 student_2['key'] = 'value' 를 쓰면 됩니다!
<문제 4_중급>
# 문제 4: 주어진 딕셔너리에서 age 키를 삭제하고, 삭제된 후의 딕셔너리를 출력하세요. (중급)
# student = {'name': '박민수','age': 23,'score': 88}
# 출력 예시 : {'name': '박민수', 'score': 88}
student_4 = {'name': '박민수','age': 23,'score': 88}
del student_4['age']
print(student_4)
del student_4['age']
student_4.pop('age')
삭제하기는 del 및 .pop()를 쓰면 삭제가 가능합니다!
마무리
오늘은 12시간 중 10시간 동안 문제를 풀어보았습니다
문제를 풀어보는 게 확실히 더 많이 배우게 되는 거 같아요
내일도 튜터 님께서 주시는 4문제랑 남은 딕셔너리 6문제 풀어볼 겁니다!
틀림으로써 배우는 과정이 너무 재밌습니다!
내일은 더 힘내볼게요 ㅎㅎㅎ
감사합니다~!
'내일배움캠프 TIL' 카테고리의 다른 글
내일배움캠프 본캠프 6일차_Python 라이브러리로 데이터 분석하기 (9) | 2024.12.02 |
---|---|
내일배움캠프 본캠프 5일차_ 프로그래머스 3문제 풀이와 과제 진행 (1) | 2024.11.29 |
내일배움캠프 본캠프 4일차_ 딕셔너리 문제 풀이 (2) | 2024.11.28 |
내일배움캠프 본캠프 2일차_ Python 기본 개념 정리_2 (0) | 2024.11.26 |
내일배움캠프 본캠프 1일차_ Python 기본 개념 정리 (0) | 2024.11.25 |