본문 바로가기
공부기록/파이썬

인프런_코딩 입문자를 위한 파이썬 기본

by 행복별거있나요 2023. 7. 20.

파이썬 인프런

 

#1.자료형_숫자,문자,불린,리스트,튜플,딕셔너리

 

숫자형_정수(소수점이없는수)int

            실수(소수점이있는수)float

 

문자형_문자열(string)

 

변수_데이터의 집

변수이름=데이터

 

 

#2.연산과 연산자

 

대입연산_ =

산술연산_ 사칙연산 +-*/

숫자연산_

 

text1 = "#내꺼하자"

text2 = "#오늘부터 1일"

text3 = "#내 여친"

total_text = text1 + text2 + text3

print(total_text)

 

—>#내꺼하자#오늘부터 1일#내 여친

 

[띄어쓰기]

total_text = text1 +" "+ text2 + " " +text3—>띄어쓰기

print(total_text) 

—>#내꺼하자 #오늘부터 1일 #내 여친

 

[한줄띄우기]

total_text = text1 +"\n" + text2 + "\n" +text3

print(total_text) 

—>#내꺼하자

#오늘부터 1일

#내 여친

 

[문자열 곱하기]

total_text = text1 +"\n" + text2 + "\n" +text3*3

print(total_text) 

—>#내꺼하자

#오늘부터 1일

#내 여친#내 여친#내 여친

 

비교연산

> 크다, <작다, >= 크거나 같다, <=작거나 같다, == 같다, != 다르다

 

불린형_True,False(첫글자 대문자로)

And: 모두 참이면 True

Or: 하나라도 참이라면 True

NotA: A가 참이라면 False

 

#3.입력과 자료형변환

input() : 입력함수_사용자로 부터 데이터를 입력 받는 함수

에러메시지 뜨면_선생님이라 생각

자료형 변환_int

x = input("첫번째 숫자를 입력해주세요<<")

y = input("두번째 숫자를 입력해주세요<<")

print(int(x) * int(y))

—>첫번째 숫자를 입력해주세요<<5

두번째 숫자를 입력해주세요<<10

터미널에 저 문자 뜨면 숫자 입력

50

 

year = int(input("태어난 년도를 입력해주세요 << "))

age = 2023 - year + 1

print(str(age) + "살 입니다")

 

#4.조건문 IF

제어문? 프로그램은 위에서 아래로 순차적으로 실행하는데 제어문으로 다르게 제어 할 수 있다

종류_조건문,반복문

조건문:조건에 따라 실행할 명령이 달라진다

 

IF조건식: 

                 조건식이 참일때 실행되는 명령

————>들여쓰기:띄어쓰기 4칸,탭

   Else:

                  조건식이 거짓일 때 실행되는 명령

————>들여쓰기:띄어쓰기 4칸,탭

 

distance = 150

 

if distance >= 250: 

    print("저격 소총 쏘기!")

else:

    print("돌격 소총 쏘기!") 

 

 

IF조건식: 

                 조건식이 참일때 실행되는 명령

————>들여쓰기:띄어쓰기 4칸,탭

Elif조건식:

                  조건식1이 거짓,조건식2가 참일때 실행 되는 명력

————>들여쓰기:띄어쓰기 4칸,탭

 

   Else:

                 조건식1,조건식2가 거짓일대 실행되는 명령

————>들여쓰기:띄어쓰기 4칸,탭

 

money = 30000

 

if money >= 20000:

    print("치킨과 맥주를 먹겠습니다")

elif money >= 10000:

    print("떡볶이를 먹겠습니다") 

else:

    print("편의점 김밥햄") 

 

조건문 퀴즈

# 9만원이상:매도, 8~9미만 : 대기중, 8만원 미만 : 매수

price = int(input("삼성전자의 현재가격을 입력해주세요>>>"))

 

if price >= 90000:

    print("매도합니다")

elif price >= 80000:

    print("대기중입니다") 

else:

    print("매수합니다") 

 

조건문 퀴즈

#1.사용자로부터 가명, 시계 금액 입력받기

#2.합계금액 10만원 이상 할인률 30%,5~10만원 할인률 20%,5만원미만 할인률 10%

 

bag_price = int(input("가방의 금액을 입력해 주세요>>>"))

watch_price = int(input("시계의 금액을 입력하세요>>>"))

 

total_price =bag_price + watch_price

 

if total_price >= 100000:

    total_price = total_price *0.7

elif total_price >= 50000:

    total_price = total_price * 0.8

else:

    total_price = total_price *0.9

 

print("합계금액은 :",total_price)

 

#5.자료형 사용_리스트[인덱스]

1.리스트 생성하기

animals = ["사자","호랑이","고양이","강아지"]

print(animals)

#데이터 접근하기

name = animals[0]

print(name)

2.데이터 추가하기_리스트 데이터 추가하기 append()

animals.append("하마")

print(animals)

3.데이터 삭제_리스트 데이터 삭제하기 del()

del animals[-1] #마지막 데이터 삭제하기

print(animals

4.리스트 슬라이싱_리스트 슬라이싱(범위지정) 리스트[시작:끝+1]

slicing = animals[1:3]

print(slicing)

5.리스트 길이_ len(리스트)

length = len(animals)

print(length)

6.리스트 정렬 list.sort()

animals.sort()

print(animals)

[내림차순 정렬]

animals.sort(reverse=True)

print(animals)

 

#6.반복문:반목해서 정렬하는 것

(정한횟수만큼 반복)For 변수 in 리스트:

        명령블록

names = ["티모","리신","이즈리얼"]

 

for name in names:

    print(name)

 

for name in names:

    if  name == "티모":

        print(name + "는 팀 챔피언입니다.") 

    elif name == "리신":

          print(name + "은 정글 챔피언입니다.")

    elif name == "이즈리얼":

          print(name + "은 원달 챔피언입니다.")

 

 

Range(10):0~9까지 순서열 반환

for i in range(1,11):

    print(i,"번째 페이지입니다.")

 

(조건을 만족하지 않을때까지 만족)While 조건:

    명령블록

 

num = int(input("자연수를 하나 입력해주세요>>>"))

sum = o

for i in range(1,num + 1):

    sum = sum + i

print(sum)

 

print("프로그램 시작")

num = int(input("종료하려면 -1을 입력하세요:"))

while num != -1:

   num = int(input("종료하려면 -1을 입력하세요:"))

print("프로그램 종료") 

 

‼️맥북 주석 컨트롤+/ ‼️

 

while True:

    num = int(input("종료하려면 -1을 입력하게요:"))

    if num == -1:

       break         

print("프로그램 종료") 

 

while True(파이썬에서 True,False앞에 대문자로 입력!) :

 

    print("[메뉴를 입력하세요]")

    select = int(input("1. 게임시작 2.랭킹보기 3. 게임종료<<<"))

 

    if select == 1:

        print("->게임을 시작합니다")

    elif select == 2:

        print("->게임을 종료합니다")

    elif select == 3:

        print("->게임을 종료합니다")

        break

    else:

        print("->자시 입력해 주세요")

 

#7.별모양문제

for i in range(1,6): #1,2,3,4,5 순서열

    print('*' * i)

 

for i in range(1,6):  #1,2,3,4,5

    print('*' * (6-i))  #5,4,3,2,1

 

[좌우반전]

for i in range(1,6): #1,2,3,4,5

    print(' ' * (5-i) + '*' * i) #

 

for i in range(1,6): #1,2,3,4,5

    print(' ' * (i-1) + '*' * (6-i))

 

#8.함수

:작업을 수행하는 명령블록

반복적으로 사용되는 코드를 함수로 만든다

 

1.def함수이름(매게변수):

      명령블록

       …..

Return 리턴값

 

2.매개변수가 없는 함수

def함수이름():

      명령블록

       …..

Return 리턴값

 

3.리턴값이 없는 함수

def함수이름(매게변수):

명령블록

……

 

4.매개변수,리턴값이 없는 함수

def함수이름():

      명령블록

       …..

 

def sum(a,b):

    result = a + b

    return result

 

x = sum(1,2)

y = sum(3,4)

print(x)

print(y)

 

import random

def getRandomNumber():

    number = random.randint(1,10)

    return number

print(getRandomNumber())

 

def printName(name):

    print(name)

printName("스타트코딩") 

 

def sayHi():

    print("안녕하세요")

sayHi()

 

#8.로또번호생성

import random

 

lotto_num = [] # 빈 로또 번호 리스트 생성

 

def getRandNumber():

    number = random.randint(1,45)

    return number

for i in range(6): #0,1,2,3,4,5

    random_number = getRandNumber()

    print(random_number)

 

—>로또 동일번호 안나오게 식 바꾸면

import random

 

lotto_num = [] # 빈 로또 번호 리스트 생성

 

def getRandNumber():

    number = random.randint(1,45)

    return number

 

count = 0 #함수를 저장할 변수

 

>무한 반복

while True:

    if count > 5 :

        break

    random_number = getRandNumber() # 로또 번호 하나를 뽑는다

    if random_number not in lotto_num: #로또 번호 리스트 안에 뽑은 로또 번호가 없으면

         lotto_num.append(random_number) #로또 번호 리스트에 뽑은 로또 번호를 추가해라

         count = count + 1

    print(lotto_num)

 

#9.딕셔너리 자료형

1.딕셔너리이름= {키1:값1,키2:값2…..}

plat_data = {

     'result' : '승리',

     'champ_name' : '비예고'

     'kill' : 13,

     'death': 9,

     'assist':13

}

 

2.딕셔너리 접근하는 방법

play_data[‘result’]

play_data[‘kill’]

 

3.keys()

for key in plat_data.keys()

    print(key)

 

4.values()

for values in plat_data.values()

    print(values)

 

5.items()  

for items in plat_data.items()

    print(items)

 

 

#10.튜플_깂을 바꿀 수 없는 리스트

tuple_a = (1,2,3,4)

tuple_a[0] = 2

 

#11.해석

1.print(“haha”)

-인자가 1개 있다

-결과값이 없다

2.x=input()

-인자가 1개도 없다

-결과값이 있다

3.Pyautogui.click()

-인자가 1개도 없다

-결과값이 있다

4.Pyautogui.click(‘ctrl’, ’c’)

-인자가 2개 있다

-결과값이 없다

5.Response = requests.get(“https://www.naver.com”)

-인자가 1개 있다

-결과 값이 있다

 

#12.클래스와 객체

클래스:제품의 설계도

객체:설계도로 만든 제품

속성:클래스 안의 변수

메서드:클래스 안의 함수

생성자:객체를 만들 때 실행되는 함수

인스턴스:메모리에 살아있는 객체

>>인스턴스가 객체에 포함 되어있다

 

[클래스 만들기]

Class 클래스 이름:

          Def 매서드 이름(self):—>메서드 자기자신

           명령블록

Class monster:

          Def say (self)           

             Print (“나는 몬스터다”)

 

[객체 = 클래스 이름()]_객채(~의),메서드()

Shark  = monster()

Shark.say()

 

[속성 추가하기] 

Class monster:

           Def _int_(self, name):             

           self. name =  name 

—>Shark객체의 이름,속성은 상어다

 

           Def sat(self):     

           print(f ”나는{self.name}”)

 

Shark  = monster(“상어”)

 

Shark.say()

 

 Wolf = monster(“늑대”)

   Class monster:

           Def _int_( Wolf, “늑대”):             

           self. name =  “늑대 “  

 

Wolf .say() 나는 늑대가 된다