티스토리 뷰

- abs(숫자 데이터) : 절대값

- len(데이터 세트) : 데이터 개수 확인

- sum(리스트) : 합산

 

# 함수의 기본 형태

def 이름():  # 함수명

    명령문1            

    명령문2

이름()  # 실행

 

def 이름():  # 결과값을 리턴하는 함수

      return 결과값

 

def 이름(매개변수1, 매개변수2, ···):  #함수 입력값 활용하는 함수

       return 결과값

 

- 리스트.append(요소로 추가할 데이터)   # 함수를 입력하는 함수

 

- 정수가 홀수인지 확인하는 함수

class Is_Odd_Number:
   
def __init__(self): #함수 선언 숫자 입력
       
self.odd = int(input("숫자를 입력하세요. : "))  #입력값은 str 저장되므로 int 선언이 필요하다.

   
def show(self):
       
if self.odd % 2 == 1:
           
return print("숫자 %s는 홀수입니다." % self.odd)
       
return print("숫자 %s는 짝수입니다." % self.odd)

Is_Odd_Number().show()

 

 

- 영어 알파벳을 감싸는 테두리를 출력하는 함수

 

# 직접 작성한 코딩이며, 높이를 높이면 하드코딩이 될 가능성이 있음

class Board_Letter:
   
def __init__(self):
       
self.msg = str(input("글씨를 적어주세요! : "))
       
self.digit = int(len(self.msg))

   
def act(self):
       
print("*" * (self.digit + 4))
       
#print("*" + (" " * (self.digit + 2)) + "*")
       
print("* " + self.msg + " *")
       
#print("*" + (" " * (self.digit + 2)) + "*")
       
print("*" * (self.digit + 4))

Board_Letter().act()

 

# 높이 및 모양 자동 수정 함수. 하드코딩을 어느정도 완화시킴

class Board_Letter:
   
def __init__(self):
       
self.msg = str(input("글씨를 적어주세요! : "))
       
self.digit = int(len(self.msg))
       
self.height = int(input("높이를 지정해 주세요! : "))
       
self.shpae = str(input("모양을 입력해 주세요 : "
))

   
def act(self):
       
print(self.shpae * (self.digit + 4))
       
for i in range(int(self.height // 2 - 1)):
           
print(self.shpae + (" " * (self.digit + 2)) + self.shpae)
           
continue
       
print(self.shpae +" " + self.msg + " " + self.shpae)
       
for i in range(int(self.height // 2 - 1)):
           
print(self.shpae + (" " * (self.digit + 2)) + self.shpae)
           
continue
       
print(self.shpae * (self.digit + 4))

Board_Letter().act()

 

- 양수 음수 구하는 함수

i = int(input("숫자입력 : "))
def test():
   
if i > 0 :
       
print("숫자는 양수입니다.")
   
elif i < 0 :
       
print("숫자는 음수입니다.")
   
else :
       
print("숫자는 0 입니다.")

   
return print(int(i)+5)

test()

 

- 실행 결과 - 

숫자입력 : 5

숫자는 양수입니다.

 

 

- 시간이 많이 걸리는 피보나치 수열

def fibo(n):
   
if n == 1:
       
return 1
   
if n == 2:
       
return 2
   
else:
       
return fibo(n-1) + fibo(n-2)

print("fibo(1):", fibo(1))
print("fibo(2):", fibo(2))
print("fibo(3):", fibo(3))
print("fibo(4):", fibo(4))
print("fibo(35):", fibo(35))

 

count = 0

 

 

- global 함수


def fibo(n):
   
print("fibo %s 를 구합니다." % (n))
   
global count  # 파이썬 함수는 외부변수를 참조하지 못하여 외부변수를 사용하게 하는 global 사용한다.
   
count += 1

   
if n == 1:
       
return 1
   
if n == 2:
       
return 2
   
else:
       
return fibo(n-1) + fibo(n-2)

fibo(
10)
print(count)

 

 

#메모 변수를 만듭니다.

dic = {
   
1: 1,
   
2: 2
}

 

# 함수를 선언합니다.
def fibo(n):
   
if n in dic:

       # 메모가 되어 있으면 메모된 값을 리턴
       
return dic[n]
   
else:

       # 메모가 되어 있지 않으면 값을 구함
        output = fibo(n-
1) + fibo(n-2)
        dic[n] = output
       
return output

print("fibo(1):", fibo(1))
print("fibo(2):", fibo(2))
print("fibo(3):", fibo(3))
print("fibo(4):", fibo(4))
print("fibo(300):", fibo(300))

 

# 딕셔너리를 해서 한번 계산한 값을 저장해서 코드속도를 빠르게 한다.

 

'파이썬 공부 > 혼자 공부하는 첫 프로그래밍 with 파이썬' 카테고리의 다른 글

5장 반복  (0) 2021.10.07
4강 데이터세트 - 딕셔너리  (0) 2021.10.06
4강 데이터세트 - 리스트  (0) 2021.10.05
3강 선택 - 리스트  (0) 2021.10.04
2강 데이터  (0) 2021.10.03