[내일배움단 ai트랙 3기]파이썬 문법(2)

2022. 9. 7. 00:40스파르타코딩클럽[AI트랙 3기]/TIL

22.09.06

 더이상 털릴 멘탈이 없다. 혼자 고민해도 해결이 안된다. 답답해보이셨는지 튜터님께서 연락이 왔다. 이때다싶어 바로 물어봤는데 뭔가 알고 물어봐야할 것 같은 기분이 든다. 너무 튜터님이 알려주시는데로 찍기만하는 느낌? 좋지만은 않았다. 그래도 튜터님께서 친절하게 설명해주셔서 괜찮았다. 아, 수업에 좀 집중하자. 인스타......... 가만안둬...아니지 가만둬 이제.. 폰 중독이다!! 카톡도 줄여야겠다. 음.. 사고하는 연습? 그거 사고력이 있는사람들이나 하는거잖아.. 우선 다른사람들이 어떻게 풀었는지 참고하면서 그렇게라도 공부해야겠다. 알고넘어야겠다는 강박이 나를 너무 느리게 가게 한다. 이제 뭐라도 하겠다.  또 추석을 잘 이용해서 역전의 발판을로 삼겠다는 생각이 든다.


[실시간 강의]

ㅁ이창호 튜터님 파이썬

*1교시

3. 파이선 활용하기

-사칙연산: 파이선 사칙연산지원(+,-,*) 제곱은 **

-개발할 때 계산식을 이용해서 푸려고 노력하는 것이 많이 도움이됨.

-비트는 자리수라고 생각하면됨(0000 0000 : 8 bit), int32bit (첫째자리는 음수,양수를 구분해주고 231승까지의 수만큼 표현 가능, 그이상은 오버플로우 됨. 싸이의 강남스타일.), ip32비트(0000.0000.0000.0000)

-파이선은 오버플로우가 없음(다른언어에 비해 유연함)

-나누기는 3가지 연산이 있음(용도와 결과값 다름) 우리가 일반적으로 나누기라 생각하는 것은 /. 나누기는 무조건 소수점이 붙어서 나옴.(floaet) //는 무조건 정수로 나오는 것(나머지를 버림)

for I in range(100):

if i % 2 == 0:

print(f“{i}는 짝수입니다.”)

홀짝 판별함수 활용

numbers= [1,2,3,4,5]

sum_numbers = 0

for i in numbers:

sum_numbers = sum_numbers+i (또는 sum_numbers += I)

print(sum_numbers)

-string 문자는 더하기를 할 수 있음. string도 반복문으로 돌릴 수 있음. 문장을 for으로 돌리면 한글자씩 담음.

-과거에 파이썬에서는 f스트링이 없음. 그래서 잘 확인해야함.

-pirtni(f“pie:{pie:2f}”) 하면 두자리까지, 6f 하면 6자리까지 반올림해서 나타냄

 

*2교시

list []

-리스트 안에는 각각 고유의 index번호가 있음(순서대로), 음수는 뒤에서부터 세줌.

-슬라이싱[0:4] 0부터 4까지(0은 포함, 4는 포함 안함)

-append, remove 함수.append(추가할 것)

+)함수

ㅇtuple ()

-튜플은 리스트와 동일(그러나 요소를 수정하거나 삭제할 수 없음)

-두 개의 튜플 합치기는 가능 number = (1,2,3) / number += (4,5)

ㅇdictionary{}

-setdict구별하는 방법 : key,value가 있으면 dict / 없으면 set

print(dict이름[“가져올것”]) 하면 가져오는데 만약에 값이 없으면 에러가 남.

print(dict이름.get“가져올것”,“없을 때 출력할 것”)하면 가져올 것이 없으면 없을 때 출력할 것을 출력함.

-list의 중복을 없애는 방법 set(list) 해주고 다시 list(set(list))해주면 중복값 사라짐.

ㅇ함수

- def 함수이름(): 하고 밑에 나올 것 해주고 나중에 밑에 함수이름()해주면 출력됨.

-함수의 순서는 상관 없음.

 

*3교시

-함수는 파이선의 기본, 파이선 그 자체

1)import 해서 가져오기

폴더내에 다른 파일에 함수 지정

main.py에서 작업을 하지만 a.py / b.py / c.py 다양한곳에서 작업한함수를 쓰는 방법

import a

 a.a_function

a에 있는 a_function을 호출

2)from a import a_function 해서 가져오기

from a import a_function

a_function()

+) *은 모든 것이라는 의미를 갖고 있음. import 뒤에 함수대신에 *을 써줄 수 있음.

폴더안에 있는 파일도 import . from folder.b import b_function 같은 것도 가능.

+)'*'을 쓰는 것은 권장하지 않음. 디버깅하거나 코드관리할 때 코드의 출저를 확인하기가 힘듦. 제일 권장하는 것은 파일자체를 import하는 것

+)))as로 별칭지정가능(라이브러리가 비슷한 이름이 많을 때 또는 코드를 짧게 만들고 싶을 때 )

비어있는 stringlistFalse가 됨.

notbool 속성을 반전시키는 것으로 이해. 특정값이 참인지 거짓인지 궁금할떄는 bool을 씌워줌.

if

if

else 하면 else는 아래거로 붙음.

 

*** 함수아래에 변수는 함수에 포함시키지 말고 밑에 앞으로바짝댕겨서 지정해준다.

 

 

ㅁ일일과제(계산기만들기)

-팀원들의 문제풀이를 바탕으로 내 것 만들기

1)J

-main.py

)젤 윗줄에 가지고 올 것을 입력 : from cal import p, m, mu, d

)계산기 함수로 정의해주고 맨 밑에 실행할 수 있게끔 함수 적음.

def computer():

print(‘숫자(정수를) 입력하세요.’

두번째 줄에 사칙연산기호 중 한가지를 입력하세요.’ ,

세번째 줄에 숫자(정수)를 입력하세요’,

sep=’\n’)

*)sep=’\n’ 줄바꿈 이것 외에도 print(1\n2\n3\n) 이 있음.

)num1, operator, num2 지정

num1 = int(input())

operator = input()

num2 = int(input())

)if 문 돌려가면서 넣어주기

if operator == ‘+’:

p(num1, num2)

eif operator == ‘-’:

m(num1, num2)

eif operator == ‘*’:

mu(num1, num2)

else operator == ‘/’:

d(num1, num2)

)마지막 밑줄에 함수

computer()

-cal.py

)함수 정의

def p(num1,num2)

print(num1+num2)

 

def m(num1,num2)

print(num1-num2)

 

def mu(num1,num2)

print(num1*num2)

 

def d(num1,num2)

print(num1/num2)

*똑같이 했는데 다른 결과가 나옴. 설명글자가 위에 안나오고 밑에 나왔는데 이건 들여쓰기를 해주지 않아서 생긴 문제임. num1이하 모든 것을 들여써서 표현해줘야함.

 

2)H

-main

1)가져올 것 선정; from cal import cal_result

2)입력값 지정

num1 = int(input(‘첫번째 숫자를 입력:’))

num2 = int(input(‘두번째 숫자를 입력:’))

op = input(‘연산자를 입력:’)

3)출력값 지정

print(f’{num1} {op} {num2} = {cal_result(num1, num2, op)}’)

-cal

1)함수 정의

def cal_result(a, b, op):

if op == ‘+’ :

return a+b

elif op == ‘-’ :

return a-b

elif op == ‘*’ :

return a*b

elif op == ‘/’ :

return a/b

else:

print‘연산자를 제대로 입력하세요’)

 

4)3차시도(팀원들 것 참고)

&)https://pocachips.tistory.com/20

 

파이썬 일일 과제 (1) 계산기 만들어보기

1. 문제 2. 시도 가. 1차 1)main.py 하고 나머지 각 연산별로 py 파일 생성 #main.py num1 = int(input()) num2 = int(input()) operator = input() from plus import p from minus import m from multiply impor..

pocachips.tistory.com