파이썬 기초

Joel Lee·2023년 5월 9일
0

AI & DS

목록 보기
5/14
post-thumbnail

[!Important]+ Goals

  • 복수의 값을 가지는 타입, 함수, 클래스에 대해 이해
  • 효과적인 코드가 기술 가능

[!abstract]+ Curriculum
1. 시작하며
2. 복수의 값을 가지는 타입
1. 리스트 타입
2. 사전 타입
3. for 문에 의한 루프 처리
1. for 문
2. for 문의 응용예
4. 함수
1. 함수란
2. 함수를 만들어서 이해하자 (독자함수)
3. 내장 함수
5. 클래스
1. 클래스
2. 클래스를 만들어서 이해하자
3. 자주 이용하는 메소드
6. 라이브러리
7. 첨삭문제


시작하며

복수의 값을 가지는 타입

리스트 타입

#python/list/del #python/list/new

  • del list[index] : 요소 삭제
  • list.append(), list.expend() : 싱글, 멀티 요소 추가

사전 타입

#python/dic #python/dic/del #python/dic/new

  • del dic[key] : 요소 삭제
  • dic['new key'] = 'value'

For 문에 의한 루프 처리

For 문

For 문의 응용예

#python/for/dic

  • loop of list in list
  • loop with dic : key 를 취득해옴

함수

함수란

함수를 만들어서 이해하자 (독자함수)

내장 함수

#python/list

  • print 함수 : sep, end
print(出力させる値1, 出力させる値2, ... ,  sep=' ', end='\n')
# sep은 출력하는 값을 무엇으로 나눌 것인가.
# end는 마지막에 출력하는 값
  • enumerate : 리스트의 인덱스와 요소를 동시에 리턴
list_ = ["a", "b"]
for index, value in enumerate(list_): # listのインデックスと値を取得する
    print(index, value)

클래스

클래스

#python/class

클래스를 만들어서 이해하자

# 自動販売機クラスの定義
class VendingMachine :
    def __init__(self, name, price) :
        # ジュースの名前
        self.juice_name = name
        # ジュースの価格
        self.price = price
        # 投入金額
        self.deposit_money = 0
        
    # お金を投入した時のメソッド(動作)
    def input_money(self, money):
        #投入した金額をdeposit_moneyに反映させてください
        self.deposit_money += money
        
    # ボタンを押した時のメソッド(動作)
    def push_button(self):
        # 投入金額がジュースの価格より大きいならジュースを購入します
        # 購入時には、投入金額をジュースの価格分減らしてください
        if self.deposit_money >= self.price:
            self.deposit_money -= self.price
            
            return self.juice_name + "を購入しました。残金" + str(self.deposit_money)+"円です"
        # 購入できない場合は、不足金額をdiff変数に代入します
        else:
            diff = self.price-self.deposit_money
            return str(diff) + "円不足しています"


# インスタンス作成(コーラの自販機を作成)
coke = VendingMachine("コーラ", 160)

# お金を投入します
coke.input_money(100)
# ボタンを押します
result = coke.push_button()
print(result)

# お金を投入します
coke.input_money(100)
# ボタンを押します
result = coke.push_button()
print(result)

자주 이용하는 메소드

#python/method #python/method/str #python/method/list #python/method/dic

  • str 타입 메소드
    - .upper() : 문자열을 모두 대문자로 출력
    - .count(' 요소 ') : 문자열 내 요소의 수 출력
    - .format(인수 1, 인수 2, ...) : 문자열에 변수를 집어넣는 게 가능. 인수는 문자열 아니어도 OK.
fruit = "banana"
color = "yellow"

# 「banana is yellow.」と出力してください
print("{} is {}.".format(fruit, color))
  • 리스트 타입 메소드
    - .index(요소) : 요소의 인덱스 출력. 요소 중복이면 index 가 빠른 것만 표시.
    - .sort()
    - .reverse()
  • 사전 타입 메소드
    - .items() : 키와 값, 둘 다 격납

라이브러리


첨삭문제

배수와 최소공배수

# 関数Ai_demyの中を作成してください

def Ai_demy(numbers):

    # ここに処理を記述してください

    for number in numbers:

      if number % 7 == 0 and number % 5 == 0:

        print(str(number)+':Aidemy')

      elif number % 5 == 0:

        print(str(number)+':Ai')

      elif number % 7 == 0:

        print(str(number)+':demy')

      else:

        print(number)

  

# データの定義

numbers = list(range(1,36))

# 関数の実行

Ai_demy(numbers)
# 関数binary_searchの中を作成してください

def binary_search(numbers, target_number):

  find_index = 0

  while True:

    mid_index = len(numbers) // 2

    # mid_indexが正解の場合

    if numbers[mid_index] == target_number :

      find_index += mid_index

      print('{}は{}番目にあります'.format(target_number, find_index+1))

      break

    # 小さい場合

    elif numbers[mid_index] < target_number :

      numbers = numbers[mid_index:]

      find_index += mid_index

    else :

      numbers = numbers[:mid_index]

  

# 探索するデータ

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]

# すべての要素に対してバイナリーサーチの実行

for number in numbers:

  binary_search(numbers, number)
profile
개발자 전직을 향해 나아가고 있는 Technical Sales Engineer

0개의 댓글