TECH_LOG

Python Programming_Day4 본문

Programming

Python Programming_Day4

HongDaang 2023. 3. 17. 11:33

ABC부트캠프_(2023.03.17)

07 함수

 

7.1.1 함수 정의와 호출

 

def 함수명() :

      문장1      # 들여쓰기

      문장2

         .

         .

함수명()          #함수 호출

 

7.2 매개변수

 

매개변수(Parameter) : 호출 함수에서 전달하고자 하는 값이나 변수를 전달받기 위해 함수 정의에서 사용되는 변수

"""
함수의 매개변수
"""

def hello():
    print("안녕하세요!")

def say_hello(name):
    print("%s님 안녕하세요!" % name)

def print_name(f_name, l_name):
    name = f_name + l_name
    print("%s님 안녕하세요!" % name)
    

hello()
say_hello("김진영")
print_name("김","진영")


->

안녕하세요!
김진영님 안녕하세요!
김진영님 안녕하세요!
>>>

- 함수를 이용하여 홀,짝 판정 

# 홀수,짝수 판정하여 출력하는 함수
def even_odd(n) :
    if n%2 == 0 :
        print("%d는 짝수이다" %n)
    else :
        print("%d는 홀수이다" %n)


x = int(input("양의 정수를 입력하세요 : "))
even_odd(x)


->

양의 정수를 입력하세요 : 5
5는 홀수이다

7.2.4 매개변수 *args

 

- args* : 호출 함수에서 전달하는 인수의 개수에 따라 매개변수를 가변적으로 하고 싶은 경우에 사용하는 매개변수

# 평균을 구하는 함수   -> 매개변수를 가변적으로 사용할수 있도록 하는 *args
def average(*args) :
    num_args = len(args)
    sm = 0
    for i in range(num_args) :
        sm = sm + args[i] #튜플
    avg = sm/num_args
    print("%d 과목 평균 : %.1f" % (num_args, avg))

average(100,50,30)
average(80,90,50,30,100)

->

3 과목 평균 : 60.0


5 과목 평균 : 70.0
>>>

 

7.3 함수 값의 반환

"""
인치를 입력하면 cm으로 환산하는 함수
"""

def inch_to_cm(inch) :
    cm = inch * 2.54
    return cm

num = int(input("인치를 입력하세요 : "))
result = inch_to_cm(num)
print("%d inch => %.2f cm" %(num, result))
인치를 입력하세요 : 40
40 inch => 101.60 cm

7.4 지역 변수와 전역 변수

 

7.4.3 키워드 global

"""
원의 면적 구하는 함수
"""

# 1) global 키워드로 반지름을  사용하는 방법
def cir_area() :
    global r
    result = r * r * 3.14

    return result

def cir_area_arg(arg) :
    result = arg * arg * 3.14

    return result


r = float(input("반지름을 입력하세요 : "))
area = cir_area()
print("원의 면적 : %.1f" % area)


# 2) 매개변수로 반지름 사용하는 방법

area = cir_area_arg(r)
print("원의 면적 : %.1f" % area)
반지름을 입력하세요 : 10
원의 면적 : 314.0
원의 면적 : 314.0

08 함수 활용

 

8.1 파이썬의 내장함수

 

교재 : Introduction to 파이썬
파이썬 내장 함수

 

 

09 모듈

-모듈이란?

  1. 하나의 파일을 여러개로 나누어 관리
  2. 프로그램에서 공통적으로 사용되는 함수들을 모아서 별도의 파일에 저장하는 기능을 제공
  3. 필요한 모듈 파일을 불러와서 파일 내에 정의 된 함수들을 쉽게 이용

 

9.1  import

 

 

9.2 math 모듈

"""
math 모듈 사용 예제
"""

import math

# 제곱근 sqrt(x) x의 제곱근을 반환
print("sqrt(25): ", math.sqrt(25))
print("sqrt(2): ", math.sqrt(2))
print(math.pi)
print("sqrt(pi): ", math.sqrt(math.pi))
sqrt(25):  5.0
sqrt(2):  1.4142135623730951
3.141592653589793
sqrt(pi):  1.7724538509055159
>>>

 

 

9.3.4 시간 지연시키기_time.sleep()

 

import time

print("시작!")
time.sleep(5)
print("5초 후 나타남!")   #5초간 실행 멈춤
#실행결과 1 : 프로그램 실행 직후
 시작!
#실행결과 2 : 실행 5초 후
 시작!
 5초 후 나타남!

9.5 random 모듈

"""
random 모듈 예제
"""

import random

# 1) 0~1 사이의 임의의 실수 값을 반환 (0,1은 포함되지 않음)
print(random.random())


# 2) uniform(시작범위, 종료범위) 특정구간의 임의의 실수 값을 반환
print(random.uniform(3,7))


# 3) randint(시작범위, 종료범위) 특정구간의 임의의 정수 값을 반환(범위 값을 포함)
print(random.randint(1,6))

# 4) choice(리스트) 리스트, 튜플, 문자열의 요소 중 임의의 요소를 반환
print(random.choice([1,2,3,4,5,6]))
print(random.choice(["가위","바위","보"]))


# 5) shuffle(리스트) 리스트 요소의 순서를 임의로 섞음
list1 = ["가위","바위","보"]
print("원래의 리스트 : ", list1)
random.shuffle(list1)
print("순서가 변경된 리스트: ",list1)
0.2656099939045734
6.433155906188332
6
6
보
원래의 리스트 :  ['가위', '바위', '보']
순서가 변경된 리스트:  ['가위', '보', '바위']
>>>

10. 파일과 예외 처리

10.1 텍스트

"""
텍스트 파일에 데이터를 저장하기
"""

# 파일 객체 = open(파일명, 파일모드, 인코딩)
#파일 모드 : r:읽기모드, w:쓰기모드(없으면 생성, 있으면 덮어쓰기), a:추가모드
f = open("new_file.txt", "w", encoding = "utf-8")

names = ["홍지수", "안지영", "김연수", "김예린", "한정연"]

for name in names :
    f.write(name + "\n")

print("파일 쓰기 완료!")
f.close()

# 추가모드로 사용자 2명 추가
f = open("new_file.txt", "a", encoding = "utf-8")

names = ["손영민", "황현준"]

for name in names :
    f.write(name + "\n")

print("파일 쓰기 완료!")
f.close()


# 텍스트 파일 읽기
f = open("new_file.txt", "r", encoding = "utf-8")
lines = f.readlines()  #리스트 반환
name_list = []
for line in lines :
    temp = line.replace("\n", "")
    name_list.append(temp)
print(name_list)

 

파일 쓰기 완료!
파일 쓰기 완료!
['홍지수', '안지영', '김연수', '김예린', '한정연', '손영민', '황현준']

위 작업 수행 결과 _ 메모장 txt파일 생성

'Programming' 카테고리의 다른 글

Python Programming_ 파이썬으로 타자게임 만들기  (0) 2023.03.20
Python programming Chp.10 파일과 예외 처리  (0) 2023.03.17
Python Programming_Day3  (0) 2023.03.16
Python Programming_Day2  (2) 2023.03.15
Python Programming_Day1  (1) 2023.03.14
Comments