문제/Python

231116 Python 문제

잇꼬 2023. 11. 20. 18:53
728x90
반응형
SMALL

[문제] 여러 숫자를 인수값으로 받아서 합과 평균을 출력하는 aggF함수를 생성하세요. 
# aggF(1,2,3,4,5,6,7,8,9,10)
# 합 : 55 // 평균 : 5.5 

 

# 방법1

def aggF(*arg): # 가변인수
    hap = 0 # 누적합
    for i in arg: # 반복문
        hap += i
    print("합 : ", hap)
    print("평균 : ",hap/len(arg))

aggF(1,2,3,4,5,6,7,8,9,10)

 

# 방법2

def aggF(*arg): # 가변인수
    hap = 0 # 누적합
    cn = 0 # 건수
    for i in arg: # 반복문
        hap += i
        cn += 1
    print("합 : ", hap)
    print("평균 : ",hap/cn)

aggF(1,2,3,4,5,6,7,8,9,10)

 

# 오류발생-> * 추가해주기

aggF([1,2,3,4,5,6,7,8,9,10])


# 방법3

aggF(*[1,2,3,4,5,6,7,8,9,10])

def aggF(arg): # 인수값 1개(형식매개변수)
    hap = 0 # 누적합
    cn = 0 # 건수
    for i in arg: # 반복문
        hap += i
        cn += 1
    print("합 : ", hap)
    print("평균 : ",hap/cn)

aggF(1,2,3,4,5,6,7,8,9,1) # 오류발생, 인수값이 1개여야 하기 떄문.
aggF([1,2,3,4,5,6,7,8,9,10]) # 실행가능
aggF((1,2,3,4,5,6,7,8,9,10)) # 실행가능

 

[문제] 함수 생성하세요.
sum(1,2,3,4,5) : 합 = 관측값의 합
mean(1,2,3,4,5) : 평균 = 관측값의 합 / 관측값의 수
variance(1,2,3,4,5) : 분산 = 편차제곱합 / 관측값의 수 - 1(자유도)
stddev(1,2,3,4,5) : 표준편차 = math.sqrt(분산) // 편차 = 관측값 - 평균 // 편차제곱합 = 편차**2 + 편차**2

import math
math.sqrt(100) # 표준편차

import math    
def sum(*arg):
    total = 0
    for i in arg:
        total += i
    return total
sum(1,2,3,4,5)

def mean(*arg):
    return sum(*arg) / len(arg) # sum(가변인수값)
mean(1,2,3,4,5)

# 분산
def variance(*arg):
    total = 0  # 누적합
    avg = mean(*arg) # 가변인수값으로 전달
    for i in arg: # 편차, 반복문(for문)
        total += (i-avg)**2
        # (1-3)**2 + (2-3)**2 + (3-3)**2 + (4-3)**2 + (5-3)**2
    return total/(len(arg)-1)

variance(1,2,3,4,5)

# 편차제곱합 = (1-3)**2 + (2-3)**2 + (3-3)**2 + (4-3)**2 + (5-3)**2

# 표준편차
def stddev(*arg):
    return math.sqrt(variance(*arg))

stddev(1,2,3,4,5)
728x90
반응형
LIST

'문제 > Python' 카테고리의 다른 글

231120 Python 문제  (0) 2023.11.20
231120 Python 문제  (1) 2023.11.20
231115 Python 문제  (0) 2023.11.20
231114 Python 문제  (1) 2023.11.20
231113 Python 문제  (0) 2023.11.13