인사말

안녕하세요!
오늘은 문제를 더 많이 풀어보면서
제 코딩 실력을 확인하고, 증진하려고 해요!

하루종일 문제를 풀어댈 거랍니다 😋


오전(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문제 풀어볼 겁니다!

 

틀림으로써 배우는 과정이 너무 재밌습니다!

내일은 더 힘내볼게요 ㅎㅎㅎ

감사합니다~!

+ Recent posts