Daily note

Today I Learned(TIL)-20

Jun.o 2024. 7. 23. 21:52

 

------------------------------------- 오늘의 학습 키워드 --------------------------------------

 

ㅁ평균값 구하기ㅁ

sum = 정수들의 합함

len =객체의 길이

 

ㅁ 구구단 ㅁ

이중 for문 사용

줄바꿈 설정 print( '  ' )

 

-------------------------- 공부한 내용 본인의 언어로 정리하기 --------------------------

 

문제1 평균값 구하기

정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.

 

제한사항
arr은 길이 1 이상, 100 이하인 배열입니다.
arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.

 

입출력 예
        arr                  return
[1,2,3,4]               2.5
   [5,5]                    5

 

def solution(arr):     # 함수선언
    all_sum=sum(arr)    # sum함수로 arr의 모든 값을 더해주고 all_sum으로 묶는다
    count=len(arr)      # len함수를 이용하여 arr의 갯수를 설정한다.
    average= all_sum / count    # all_sum을 count로 나눠 평균값 계산
    return average              # 평균값 반환

 

문제 2 구구단 

 

```python

2 x 1 = 2

2 x 2 = 4

2 x 3 = 6

2 x 4 = 8

2 x 5 = 10

2 x 6 = 12

2 x 7 = 14

2 x 8 = 16

2 x 9 = 18

 

3 x 1 = 3

3 x 2 = 6

```

def gugu():
    for i in range(2, 10):   #시작값 2, 종료 9 범위 설정 후 반목문 설정
        print('')            #줄바꿈
        for j in range(1, 10):    # 시작 1, 종료 9 범위 설정 후 반복
            print(f'{i}x{j}={i*j}')   # ixj= ij 형식으로 프린트 하도록 설정
print(gugu())                         # 출력

 

  -------------------- 어떤 문제가 있었고, 나는 어떤 시도를 했는지 -------------------

 

return을 설정해주고 2단이 두번째 for문까지 완료했을때 다시 3단으로 시작해야한다고 이해를 했는데...

return을 입력을 

1번 틀린예

def gugu():
    for i in range(2, 10):   #시작값 2, 종료 9 범위 설정 후 반목문 설정
        print('')            #줄바꿈
        for j in range(1, 10):    # 시작 1, 종료 9 범위 설정 후 반복
            print(f'{i}x{j}={i*j}')   # ixj= ij 형식으로 프린트 하도록 설정
        return i
print(gugu())                         # 출력

이유 : 2단까지만 출력된다.

 

2번 틀린예

def gugu():
    for i in range(2, 10):   #시작값 2, 종료 9 범위 설정 후 반목문 설정
        print('')            #줄바꿈
        for j in range(1, 10):    # 시작 1, 종료 9 범위 설정 후 반복
            print(f'{i}x{j}={i*j}')   # ixj= ij 형식으로 프린트 하도록 설정
            return
print(gugu())                         # 출력

이유 : 2x1만 출력된다.

 

  ----------------------------------- 어떻게 해결했는지 ----------------------------------------

 

return의 위치를 앞 for문과 같은 들여쓰기 위치를 주니까 해결

근데... return값을 아예 없애도 해결??? 왜??

이건 좀더 공부를 해야겠다.

 

  --------------------------------- 무엇을 새롭게 알았는지 -----------------------------------

 

return값 위치에 대한 출력의 방식

return 즉 반환하는걸 어느 위치에서 들여쓰기 하냐에 따라

출력값 자체가 달라지더라....

 

  -------------------------------- 내일 학습할 것은 무엇인지 ---------------------------------

1. 문제 풀기

2. 스쿼드 과제문제 풀기

3. 음... 스쿼드 공부하기...

 

'Daily note' 카테고리의 다른 글

Today I Learned(TIL)-22  (0) 2024.07.25
Today I Learned(TIL)-21  (3) 2024.07.24
Today I Learned(TIL)-19  (3) 2024.07.22
Today I Learned(TIL)-18  (0) 2024.07.19
Today I Learned(TIL)-17  (0) 2024.07.18