πŸŽ„Final Exam Programming

jiw0nΒ·2023λ…„ 12μ›” 18일
6

기말고사 λŒ€λΉ„ ν”„λ‘œκ·Έλž˜λ° κ³Όλͺ© 정리

πŸ“Œ 파이썬의 κΈ°λ³Έ μžλ£Œν˜•

파이썬의 κΈ°λ³Έ μžλ£Œν˜•μ—λŠ” string,int,float,boolean,list,set
tuple,dict 등이 μžˆμŠ΅λ‹ˆλ‹€.

πŸ”Ž μžλ£Œν˜• μ •μ˜ 및 νŠΉμ§•

string : λ¬Έμžμ—΄ μžλ£Œν˜•, 문자, 단어 λ“±μœΌλ‘œ κ΅¬μ„±λœ λ¬Έμžλ“€μ˜ 집합
int : μ •μˆ˜ν˜• μžλ£Œν˜• Ex) μ–‘μ˜ μ •μˆ˜,음의 μ •μˆ˜,0
float : μ‹€μˆ˜ν˜• μžλ£Œν˜•, μ†Œμˆ˜μ μ΄ ν‘œν•¨λœ 숫자
boolean : μ°Έ(True), 거짓(False)λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μžλ£Œν˜•
list : λ°°μ—΄(λ‹€μ–‘ν•œ μžλ£Œν˜• μ €μž₯ κ°€λŠ₯)
set : 집합 μžλ£Œν˜•, 쀑볡 ν—ˆμš© X, μˆœμ„œ X
tuple : λ¦¬μŠ€νŠΈμ™€ λΉ„μŠ·ν•˜μ§€λ§Œ κ°’ λ³€κ²½ λΆˆκ°€
dict : Key Valueλ₯Ό ν•œ 쌍으둜 κ°€μ§€λŠ” μžλ£Œν˜•

πŸ“ μžλ£Œν˜• μ„ μ–Έ 방법

# string
str_variable = "hello !!"
# int
int_variable = 1
# float
float_variable = 3.141592
# boolean
bool_variable = True
# list
list_variable = [1,2,3,4]
# set
set_variable1 = set([1,2,3])
set_variable2 = set("Hello")
# tuple
tuple_variable = (1,2,3)
# dict
dict_variable = {"person" : "jiwon"}

πŸ“Œ 리슀트 μ»΄ν”„λ¦¬ν—¨μ…˜

1λΆ€ν„° 10κΉŒμ§€ μ •μˆ˜λ₯Ό μˆœμ„œλŒ€λ‘œ κ°€μ§€κ³ μžˆλŠ” 리슀트λ₯Ό μƒμ„±ν•˜λŠ” μ½”λ“œ

list_variable = []
for n in range(1,10+1):
	list_variable.append(n)

μœ„ μ½”λ“œλ₯Ό 리슀트 μ»΄ν”„λ¦¬ν—¨μ…˜μœΌλ‘œ λ°”κΎΈλ©΄ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

list_variable = [n for n in range(1,10 + 1]

πŸ“Œ 리슀트 μŠ¬λΌμ΄μ‹±

list_variable = [1,2,3,4,5]
print(list_variable[1:]) # [2,3,4,5]
print(list_variable[:3]) # [1,2,3]
print(list_variable[:]) # [1,2,3,4,5]
print(list_variable[:-1]) # [1,2,3,4]

πŸ“Œ If, Else, Elif

if 쑰건식:
    μ½”λ“œ1
elif 쑰건식:
    μ½”λ“œ2
else:
    μ½”λ“œ3

if, elif의 쑰건식이 λͺ¨λ‘ 거짓일 λ•Œλ§Œ else의 μ½”λ“œκ°€ μ‹€ν–‰λ©λ‹ˆλ‹€.

πŸ“Œ 파이썬의 μ—°μ‚°μž

νŒŒμ΄μ¬μ€ Cμ–Έμ–΄μ—μ„œ μžμ£Όμ“°μ΄λŠ” μ¦κ°μ—°μ‚°μž(++,--)λ₯Ό μ‚¬μš©ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€.
νŒŒμ΄μ¬μ— μ‚°μˆ μ—°μ‚°μžμ—λŠ” μ‚¬μΉ™μ—°μ‚°μž +, -, *, / 와 λ‚˜λ¨Έμ§€λ₯Ό μ‚°μΆœν•˜λŠ” %,
그리고 λ‚˜λˆ„κΈ°μ— μ†Œμˆ«μ  μ΄ν•˜λ₯Ό λ²„λ¦¬λŠ” // μ—°μ‚°μž 등이 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“Œ sort,sorted 차이

sortν•¨μˆ˜λŠ” 리슀트 원본값을 직접 μˆ˜μ •ν•˜μ§€λ§Œ sortedλŠ” 리슀트 원본값은
κ·ΈλŒ€λ‘œμ΄κ³  정렬값을 λ°˜ν™˜ν•©λ‹ˆλ‹€.sort,sorted ν•¨μˆ˜λŠ” μ˜€λ¦„μ°¨μˆœ 정렬이 κΈ°λ³Έκ°’μž…λ‹ˆλ‹€.

sort function

list_variable1 = [4,3,2,1]
list_variable1.sort() # [1,2,3,4]
list_variable1.sort(reverse=True) # [4,3,2,1]

sorted function

list_variable2 = [4,3,2,1]
list_variable2 = sorted(list_variable2) # [1,2,3,4]
list_variable2 = list_variable2[::-1] # [4,3,2,1]

πŸ“Œ μž¬κ·€ν•¨μˆ˜

1λΆ€ν„° nκΉŒμ§€ 좜λ ₯ν•˜κΈ°

def func(num):
    if num <= 0:
        return 1 
    func(num - 1)
    print(num)
    
num = int(input())
func(num)

1λΆ€ν„° nκΉŒμ§€ μ—­μˆœ 좜λ ₯ν•˜κΈ°

def func(num):
    if num <= 0:
        return
    print(num)
    func(num - 1)
    
num = int(input())
func(num)

두 수 μ‚¬μ΄μ˜ ν™€μˆ˜ 좜λ ₯ν•˜κΈ°

def func(num1,num2):
    if num2 < num1:
        return 1
    func(num1,num2 - 1)
    if num2 % 2 != 0:
        print(num2,end=' ')
    
num1,num2 = tuple(map(int,input().split()))
func(num1,num2)

νŒ©ν† λ¦¬μ–Ό 계산

def func(num):
    if num == 1:
        return 1
    return num * func(num - 1)
    
num = int(input())
print(func(num))

2μ§„μˆ˜ λ³€ν™˜

def tobin(num):
    if num // 2:
        tobin(num // 2)
    print(num % 2,end='')

num = int(input())
tobin(num)

μ‚Όκ°ν˜• 좜λ ₯ν•˜κΈ° 1

def func(n):
    if n == 0:
        return 1
    func(n - 1)
    print('*' * n)

num = int(input())
func(num)

πŸ“Œ 자릿수 계산(CodeUp)

string = input()
print(len(string))

πŸ“Œ OOP

ν΄λž˜μŠ€λž€ 객체λ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•œ λ¬Έλ²•μœΌλ‘œ λ˜‘κ°™μ€ 무언가λ₯Ό 계속 λ§Œλ“€μ–΄ λ‚Ό 수 μžˆλŠ”
섀계 도면, κ°μ²΄λž€ 클래슀둜 λ§Œλ“  피쑰물을 λœ»ν•©λ‹ˆλ‹€.

λ©”μ„œλ“œλž€ 클래슀의 κΈ°λŠ₯ λ™μž‘μ— ν•΄λ‹Ήν•˜λŠ” λΆ€λΆ„μž…λ‹ˆλ‹€.
κ·Έ 쀑 init λ©”μ„œλ“œλŠ” 객체 μ΄ˆκΈ°ν™”λ₯Ό μœ„ν•œ νŠΉλ³„ν•œ λ©”μ„œλ“œμž…λ‹ˆλ‹€.

클래슀 상속

class Country:
    """Super Class"""

    name = 'κ΅­κ°€λͺ…'
    population = '인ꡬ'
    capital = 'μˆ˜λ„'

    def show(self):
        print('κ΅­κ°€ 클래슀의 λ©”μ†Œλ“œμž…λ‹ˆλ‹€.')


class Korea(Country):
    """Sub Class"""

    def __init__(self, name):
        self.name = name

    def show_name(self):
        print('κ΅­κ°€ 이름은 : ', self.name)

korea = Korea("korea")
korea.show_name()

λ©”μ„œλ“œ μ˜€λ²„λΌμ΄λ”©

class Person:
    def greeting(self):
        print('μ•ˆλ…•ν•˜μ„Έμš”.')
 
class Student(Person):
    def greeting(self):
        print('μ €λŠ” 파이썬 μ½”λ”© 도μž₯ ν•™μƒμž…λ‹ˆλ‹€.')
 
james = Student()
james.greeting()

πŸ“Œ ADT

stack adt

class Stack:
    def __init__(self):
        self.stacksize = 10
        self.list = [None] * self.stacksize
        self.top = -1
    
    def isEmpty(self):
        return self.top == -1
    
    def isFull(self):
        return self.top == self.stacksize - 1
    
    def push(self,item):
        if self.isFull():
            print("No")
            return
        self.top += 1
        self.list[self.top] = item

    def pop(self):
        if self.isEmpty():
            print("No")
            return
        self.list[self.top] = None
        self.top -= 1
    
    def peek(self):
        if self.isEmpty():
            print("No")
            return
        print(self.list[self.top])

stack = Stack()
stack.push(1)
stack.push(2)
stack.peek()
stack.pop()
stack.peek()

Linear Queue adt

class LinearQueue:
    def __init__(self):
        self.capacity = 5
        self.queue = [None] * self.capacity
        self.front = -1
        self.rear = -1
    
    def enqueue(self,item):
        if self.isFull():
            print("No")
            return
        self.rear += 1
        self.queue[self.rear] = item

    def dequeue(self):
        if self.isEmpty():
            print("No")
            return
        item = self.queue[self.front]
        self.queue[self.front] = None
        self.front += 1
        
    def isEmpty(self):
        return self.rear == self.front
    
    def isFull(self):
        return self.rear == self.capacity - 1
    
    def peek(self):
        if self.isEmpty():
            print("No")
            return
        return self.queue[self.front]
    
queue = LinearQueue()
queue.enqueue(1)
queue.enqueue(2)
queue.dequeue()
print(queue.peek())

CircularQueue

class CircularQueue:
    def __init__(self, capacity=5):
        self.capacity = capacity
        self.queue = [None] * capacity
        self.front = -1
        self.rear = -1

    def enqueue(self, item):
        if self.isFull():
            print("큐가 가득 μ°ΌμŠ΅λ‹ˆλ‹€.")
            return
        else:
            self.queue[self.rear] = item 
            self.rear = (self.rear + 1) % self.capacity

    def dequeue(self):
        if self.isEmpty():
            print("큐가 λΉ„μ–΄μžˆμŠ΅λ‹ˆλ‹€.")
            return
        item = self.queue[self.front] = None
        self.front = (self.front + 1) % self.capacity
        return item

    def isEmpty(self):
        return self.front == self.rear

    def isFull(self):
        return (self.rear + 1) % self.capacity == self.front

    def peek(self):
        if self.isEmpty():
            print("큐가 λΉ„μ–΄μžˆμŠ΅λ‹ˆλ‹€.")
            return None
        return self.queue[self.front]
profile
Interested in Web3.0

1개의 λŒ“κΈ€

comment-user-thumbnail
2023λ…„ 12μ›” 23일

Our platform https://btfrybet.com/app/ allows you to choose from popular sports like soccer, basketball, tennis, cricket, golf, and many more. You can bet on the major leagues and tournaments, as well as the lesser-known competitions from around the world.

λ‹΅κΈ€ 달기