본문 바로가기

파이썬 기초 수업정리

수업정리 Day04.

Set()

순서가 없음, 중복이 허용되지않는다.

인덱싱 슬라이싱 불가능.

교집합( &  intersection), 합집합 ( | union ), 차집합 (- , difference) 

추가 : add() , 여러개 추가 : update() 

삭제 : remove()     -  하나만 가능 

 

 

function 

function = method 메서드

입력(input) 값을 주어 처리(process)를 거쳐 출력(output)을 주는 작은 기능

입력 = 매개변수, 파라미터

출력 = 리턴(함수를 종료)

사용방법 : 함수명을 호출

 

def 함수명(매개변수) :

      수행할 문장 

      ...

      return 값

ex)

 # 더하기 함수 만들기
 # 매개변수 : 숫자 2개
 # 리턴 : 두 수의 합
 # 함수명 : add
 
def add(a,b) :
    sum = a+b
 # 호출
sum = add(1,2)
print(sum)

 

활용해서 계산기 만들어보기

# 두 수를 입력받아, 연산자를 입력받아 결과를 출력.

def add(a,b):
    return a+b

def sub(a,b):
    return a-b

def mul(a,b):
    return a*b
# 나누기는 0으로 나누면 error
def div(a,b):
    if b == 0 :
        print(" 결과가 -1이면 두번째 숫자를 다시입력해주세요.")
        return -1
    return a/b

yn = "y"

while yn == "y":
    yn = input("연산을 진행하시겠습니까? (y)")
    if yn != "y" :
        break
    num1 = int(input("첫번째 숫자를 입력해주세요: "))
    num2 = int(input("두번째 숫자를 입력해주세요: "))
    a = input("+, - , * , / 중에 연산자를 골라주세요.")
    if a == "+" :
        result = add(num1,num2)
        print(" 두 수의 합은 %d입니다. " % result)
    elif a == "-" :
        result = sub(num1,num2)
        print(" 두 수의 차은 %d입니다. " % result)
    elif a == "*" :
        result = mul(num1,num2)
        print(" 두 수의 곱은 %d입니다. " % result)
    elif a == "/" :
        result = div(num1,num2)
        print(" 두 수의 몫은 %d입니다. " % result)
    else :
        print(" 잘못된 연산자를 입력하셨습니다. 다시 입력해주세요 ")
print("계산기 종료!!")

 

매개변수의 입력값이 많은 함수

- *args 사용 , type 튜플

ex)

def add(*args):
    sum = 0
    for i in args:
        sum = sum + i
    return sum

print(add(1,2,3,4,5,6,7))

 

예제)

# 숫자 하나를 입력받아 그 수가 짝수인지 홀수인지 출력
def div(num):
    if num % 2 == 0:
        print("짝수")
    else:
        print("홀수")
       
a = 13
div(a)

# 숫자 하나를 입력받아 그 수의 약수를 출력해주는 함수
# 약수 : 나누어 떨어지는 수의 집합.
# 6의 약수 : 1 2 3 6
# 12의 약수: 1 2 3 4 6 12  
# 12 % 1~12 == 0
#매개변수 : 숫자
#리턴타입 : list[]
def div2(num):
    list = []
    for i in range(1,num):
        if num % i == 0:
            list.append(i)
    return list
print(div2(a))
   
# 숫자 하나를 입력받아 그 숫자가 소수인지 아닌지 판별
# 소수 : 1과 자기자신의 수를 제외한 나머지 수는 나누어 떨어지지 않는 수
# 1 2 3 5 7 11 13
# 소수O  소수X
def prime(num):
    if len(div2(num)) == 1:
        return "소수O"
    return "소수X"

print(prime(a))

# num 1~100까지 돌려봤을때 소수만 출력

def div3():
    l = []
    for i in range(1,101):    
        if len(div2(i)) == 1 :
            l.append(i)
    return l
print(div3())

 

'파이썬 기초 수업정리' 카테고리의 다른 글

수업정리 Day.05  (1) 2024.07.05
수업정리 Day03.  (0) 2024.07.03
수업정리 Day 02.  (1) 2024.07.02
수업정리 day 01.  (0) 2024.07.01