0813 SeSAC(새싹) 3기 5일차

육은별·2021년 8월 13일
0

SeSAC(새싹)

목록 보기
5/31

PYTHON📓

변수, if-for문, 함수, 모듈 클래스

1)변수

a=1
a"가나다"

예약어/함수명으로는 변수를 선언하면 안된다.
(if, for, print ...)

print("안녕하세요", "코딩온입니다")
print("안녕하세요", 11) -> 글자와 숫자는 +로 안됨
print("안녕하세요" + "코딩온입니다")

print("안녕", end=" ")
print("안녕하세요")

-> 이렇게 쓰면 한 줄로 출력 가능

input()

user_input = input("숫자를 입력하세요.") -> 무조건 문자열로 받는다.
print(user_input)

->
숫자를 입력하세요. 5
5

a = input("숫자를 입력하세요.")
number = int(a) -> 문자열을 int형으로 바꾼후 number에 삽입
print(a>1) -> t/f로 출력


a = int(input("숫자를 입력하세요")) 이렇게 해도 되는건가요? -> 가능

주석처리는 #으로 한다.

(1) 실습

#이름, 나이를 입력받고
#안녕하세요. (이름)님(나이)세

name = input("이름을 입력하세요: ")
age = input("나이를 입력하세요: ")
print("안녕하세요", name+"님"+"("+age+")"+"세")
-------------------
이름을 입력하세요: 육은별
나이를 입력하세요: 23
안녕하세요 육은별님(23)세

2) if-for문

if ~~라면 ~~~하겠다.

if 3>5:
	print("3은 5보다 큽니다") -> 조건이 f이면 아예 실행X.


elif -> else if

if 3>5:
	print("5은 3보다 큽니다.")
elif 4>3:
	print("4는 3보다 큽니다.")
-> 4는 3보다 큽니다.

if 3>5:
	print("5은 3보다 큽니다.")
elif 4>3:
	print("4는 3보다 큽니다.")
elif 5>3:
	print("ddd")
-> 4>3에서 true나오면 그냥 함수 종료.
    
if 3>5:
	print("5은 3보다 큽니다.")
elif 4<3:
	print("4는 3보다 큽니다.")
elif 5<3:
	print("ddd")
else:
	print("다 틀렸다")
-> 앞에 조건문이 다 틀렸기 때문에 else만이 출력된다. -> else는 조건X   
5 < a < 10 -> X

and 연산자를 이용해서 a > 5 and a < 10

for문 : 반복문

for i in range(10):
	print("안녕하세요") -> 10번 반복하겠다.
    
for i in range(1, 11):
	print(i) -> 1부터 시작 (11-1은 10번)
    
for i in range(5, 11):
	print(i) -> 5부터 10까지 출력
    

for i in range(5, 11):
	print(i, end=" ") -> 가로로 출력
    

for i in range(5, 11, 2):
	print(i, end=" ") -> 2씩 증가
    

for i in range(11, 1, -2):
	print(i, end=" ") -> 역순으로 출력
    
    
for i in ["a", "b", "c"]:
	print(i, end=" ") -> a b c 출력

(1)실습 - if문 1번

age = int(input("나이를 입력하세요: "))

if age >= 1 and age <= 7:
    print("유아")
elif age >= 8 and age <=13:
    print("초등학생")
elif age >= 14 and age <=16:
    print("중학생")
elif age >= 17 and age <=19:
    print("고등학생")
elif age >= 20:
    print("성인")

(2)실습 - for문 5번

num = int(input("숫자를 입력해주세요 : "))

for i in range(1,num+1):
    print(i, end=" ")

(3)실습 - if-for문 혼합 2번

#조건1 : 숫자를 입력하세요. 라는 문구를 출력하고 사용자로부터 숫자를 입력받으세요.
#조건2 : 입력된 숫자를 n이라 할 때, 1부터 n까지 for문을 실행하며 1은 1번, 2는 2번, 3은 3번...n은 n번 출력하세요.
#Ex : 3을 입력할 경우, 1 2 2 3 3 3 이 출력되야 합니다.


n = int(input("숫자를 입력하세요: "))
for i in range(1,n+1):
    print(i, i, end=" ") -> i를 i번 반복하여 출력
    
number = int(input("숫자를 입력하세요."))
for i in range(1, number+1):
    for j in range(i):
        print(i)

(4)실습 - 구구단

n = int(input("숫자를 입력하세요: "))
for i in range(1,10):
    print(n*i, end=" ")

(5)실습 - iffor문 혼합 1번

#조건1 : 나이를 입력하세요. 라는 문구를 출력하고 사용자로부터 숫자를 입력받으세요.
#조건2 : 입력된 숫자가 20이상이면 "성인", 아니면 "미성년자"를 출력하세요.
#조건3 : 입력된 숫자가 20이상이면 추가적으로 입력된 숫자가 짝수인지 홀수인지 검사하여 각각 "나이가 짝수인 성인", "나이가 홀수인 성인"을 출력하세요.
#조건4 : 입력된 숫자가 20미만이면 추가적으로 입력된 숫자가 짝수인지 홀수인지 검사하여 각각 "나이가 짝수인 미성년자", "나이가 홀수인 미성년자"를 출력하세요.

num = int(input("나이를 입력하세요: "))
if num >= 20:
    print("성인")
    if num % 2 == 0:
        print("나이가 짝수인 성인")
    elif num % 2 == 1:
        print("나이가 홀수인 성인")
elif num < 20:
    print("미성년자")
    if num % 2 == 0:
        print("나이가 짝수인 미성년자")
    elif num % 2 == 1:
        print("나이가 홀수인 미성년자")

"a" * 2 = a a


3) 리스트 = 배열?

list1 = [] -> 크기가 0
list1 = ["a", "b", "c"] -> 크기가 3

index = 0 , 1 , 2
print(list1[1]) -> b가 출력
print(list[0:2]) -> 0부터 1번까지 출력(뒤에잇는 숫자 -1번만큼 돈다)
-> ['a', 'b'] -> 슬라이싱

print(len(list1)) -> 리스트의 길이를 출력한다. -> 3

index란? 리스트에 각각에 원소에 번호를 매긴다, 그게 index.

len(), sum(), min(), max()

sum -> 원소 다 더하기
min -> 가장 작은거 출력
max -> 가장 큰거 출력
print(sum(list1) / len(list1)) -> 평균구하기

list1.append(4) -> 원소 추가
list1.extend([4,5]) -> 4,5 원소 추가
list1.insert(1,10) -> 1이 인덱스, 10은 추가하고싶은 숫자 -> 1번 자리에 10이 추가됨
list1.remove(2) -> 2의 값을 가진 걸 삭제한다. -> 만약 중복될경우 앞에 것만 삭제됨

del list1[1] -> 1번 인덱스에 있는 원소를 삭제한다.

a = "abcdef"

print(a[0]) -> a

4) 함수


def test():
	print("test")
    
-> 함수 선언

test()를 쓰면 test를 출력한다.

def test (aa):
	print(aa)

이렇게 썼으면 
test("안녕") 안에 이렇게 aa를 채워줘야함

def test(aa, bb = "안녕하세요"):
	print(aa + bb)
    
test("안녕", "바이") -> 안녕바이
test("안녕") -> 안녕안녕하세요, 이미 b에 디폴트값이 있기 때문에 하나만 적어줘도 된다.


def test(aa, cc, bb = "안녕하세요"):
	return aa + bb + cc
    
-> 출력은 아니고 그냥 반환

print(test("안녕","바이"))
==print("안녕바이안녕하세요")

5) 모듈

함수를 따로 모아서 작성하고 쓰는 것,
이걸 어떻게 가져와서 쓰지?

=> import m(모듈 파일의 이름을 적으면 됨)

print(m.add(2,3)) => 함수 앞에 모듈.함수 이렇게 써줘야함

(1) 실습 - 모듈로 구구단 작성

def mul():
    for i in range(1,10):
        print(i*2)
    for i in range(1,10):
        print(i*3)
    for i in range(1,10):
        print(i*4)

import mod1

mod1.mul()

def gugudan(num):
    for i in range(1,10):
        print(num, "X", i, "=", num*i)
        

for i in range(2,10):
    mod1.gugudan(i)

6) 클래스 -> 공통적인 부분을 묶어둔다.

class Test: //클래스 선언->대문자로 시작해야함
	number = 30
    
    def __init__(self): -> 클래스 안에 함수는 메쏘드라고 부른다. 인자에 self를 무조건 넣어야한다. (이 이름을 가진 함수는 생성자)
    	self.number = number 위에 넘버와 다른 것임.
    
    def transfer(self):
    	number = number+1 물론 위에 number가 아님
    
    
    만약 self.number 이렇게 하면 다 사용할 수 있음/

생성자 => __init__(self)
    객체가 생성되면 생성자가 그냥 바로 출력됨.
   
a = Test(31) // 클래스를 담은 변수는 객체라고 한다.
b = Test(35)

print(a.number) => 31
print(b.number) => 35 //출력이 되는건 아님

a.transfer()



print(Test.number) // 30을 출력
profile
Front-end Engineer, Web Developer & UX/UI Design

0개의 댓글

관련 채용 정보