파이썬 기초 #3 연산자, if﹒for﹒while문, 함수

사공 오·2022년 3월 23일
0

Python 기초 공부

목록 보기
3/3
post-thumbnail

연산자

count = 1
count = count + 1
count += 1 #위에랑 같은 의미 본인에 1더하기
count -= 1 #본인에 1빼기
count *= 1 #본인에 1곱하기
count /= 1 #본인에 1나누기

assign 할당 연산자

  • 할당연산자 a = b
    a를 b로 설정,할당 한다.

  • 복합 할당 연산자 += -+ *= /=
    본인에 뒤에 값만큼 더하거나 빼거나 곱하거나 나눈 값을 할당한다.

산술 연산자
+ - * /
기본적인 사칙연산 (더하기 빼기 곱하기 나누기)

count= 3 ** 2 #3의 2제곱 = 9
count= 3 // 2 #3 나누기 2의 몫  = 1
count= 3 % 2 #3 나누기 2의 나머지  = 1

특수 연산자 (숫자끼리 하는)
** - 제곱
// - 몫
% - 나머지

if 1 % 2 == 1:
    print("홀수")

if 2 % 2 == 0:
    print("짝수")

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

for number in numbers:
    if number % 2 == 1:
        print(number, "홀수!")
    else:
        print(number,'짝수!')

%로 홀짝 구하기

print( 'ony' + 'x' + '540' ) #+하면 서로 붙는다
print('안녕'*3) #3번반복해서 나온다

def cls():
    print( '\n'*50)
#엔터를 50번쳐서 다 위로 올리기

문자열 연산자
+ - 서로 붙어서 나옴
* - 곱한 수만큼 반복해서 나온다

1 >= 0 
1 != 0

비교연산자
== 같다 != 다르다
> 왼쪽이 초과 >= 왼쪽이 이상
< 왼쪽이 미만 <= 왼쪽이 이하

True and True == True
True or False == True

not True
not False

#ex 놀이기구 나이, 키 제한
height = 120
age = 8

height > 140 and age > 7 #false

논리연산자
and - 모두 트루여야 트루
or - 하나만 트루여도 트루
not - 불린값 앞에 붙이면 반대값이 나온다.

ony_파이썬 = ['ony', '파이썬', '함수', '연산자', '매서드']

print( '파이썬' in ony_파이썬 )
print( '파이썬' not in ony_파이썬 )

#불린 결과값 - 이 안에 있나 없나로 트루 펄스

멤버쉽 연산자
in - 이 안에 있나?
not in - 이안에 없나?
출력시 불린값으로 나온다.



if 조건문

name = 'ony'

if name == 'ony':
    print('당신은 ony이군요')
elif name == '540':
    print('당신은 540이군요!')
else:
    print('당신은 누군가요?!')

만약 --라면:
이거해라
위에 조건이 아니라 만약 --라면:
이거해라
이것도 아니라면:
이거해라


for 반복문

animals = ['코알라','코끼리','기린','렛서판다','판다']
for animal in animals:
    print(animal)
#이렇게 하나씩 뽑아와서 출력 변수는 내마음대로 설정 컨테이너안에 있는게 반복됨

for num in [1,2,3]:
    print(num)

for my_str in "ony 파이썬 공부":
    print(my_str)
#하나씩 쪼개서 나옴 

컨테이너에 있는 값들만큼 코드블럭을 반복하는 구문

for 변수 in 컨테이너:
실행명령1> 코드블럭이라고 함
실행명령2

#range( ) 내장함수
range(0,3) #0부터 3앞까지 나온다!

print(type(range(3)))
#타입은 랭지 

for n in [0,1,2]:
    print(n)

for n in range(0,3):
    print(n)

range( ) - 범위 표현하는 내장함수
ex1) range(0,3) 0부터 3앞까지 나온다!
ex2) range(4) 숫자하나만 쓰면 0부터 그숫자 앞까지 나온다

for j in range(2,10):
    for i in range(2,10):   
        print('{}x{}={}'.format(j,i,j*i))
        #j가 들어가야바뀜 

이중 for 문으로 구구단 출력하기


Comprehension 컴프리핸션

numbers = [1,2,3,4,5,6,7,8,9,10]
odd_numbers = []

for number in numbers:
    if number % 2 == 1:
        odd_numbers.append(number)
#홀수인 애들만 오드 넘버스에 넣기

print(odd_numbers)

홀수인 애들만 odd_numbers에 넣기 위해 사용해야하는 기존방식

odd = [number for number in numbers if number % 2 == 1]
#이렇게 한줄로 쓸 수 있다 ! ! 

print(odd)

같은 내용을 한줄로 쓸 수 있는데, 이렇게 짧게 리스트를 생성할 수 있는 방법을 컴프리핸션이라고 한다.
자세한 내용은 파이썬의 Comprehension 소개을 보고 이해할 수 있다.



while 반복문

count =0
while count< 3:
    print('횟수:',count )
    count += 1

# continue break
while count< 10:
    count += 1
    if count < 4:
        continue #컨티뉴만나면 밑에 코드실행하지않고 와일 조건문으로 올라오기
    print('횟수:',count)
    if count == 8:
        break #조건문 탈출

조건문인 동안:
이거해라

continue - 만나면 밑에 코드실행하지않고 위의 조건문으로 올라온다.
break - 만나면 조건문 탈출한다.



함수

함수의 종류
내장함수 - 기본적으로 파이썬에서 제공하는 함수 ex)print, len, input
모듈의 함수 - 임포트해서 사용할 수 있는 함수
사용자 정의 함수 - 우리가 직접 만드는 함수

함수를 사용하는 이유
1) 재사용성 ( 여러번 사용도 가능하고
2) 코드관리 쉽고 ( 조금씩 변형해서 사용가능
3) 조립해서 사용할 수 있음

def add(num1, num2):
    return num1 + num2

print (add(1,2))

def add_mul(num1, num2):
    return num1 + num2, num1 * num2

my_add, my_mul = add_mul(1,2)

print (add_mul(1,2))

사용자 정의 함수
def 함수이름(인자1,...): /인자는 있을 수도 없을 수도 있음
실행명령1
실행명령2
return 결과1, 결과2, ... /결과값을 돌려줌 있을 수도 없을 수도 있음



모듈 - ex) random

비슷한 함수들을 모아둔 파일
import해서 사용가능
"있는 바퀴를 만들지마라" - but 코딩연습을 위해서는 ok

import random #임포트

#choice - 리스트에 있는 목록 중 하나를 무작위로 뽑아줌
students =['오사공','오리','오레오','오돌뼈']
print( random.choice(students)) 

#sample - 여러개의 값을 중복없이 무작위로 뽑을 수 있음
print( random.sample(students,2)) 
print( random.sample(range(1,46),6) )  #로또번호 추출기

#randint - 범위 내 정수형 무작위로 뽑아줌
print( random.randint(8,10)) # 8 9 10 정수로 뽑을 수 있다

random
random.choice() - 리스트에 있는 목록 중 하나를 무작위로 뽑아준다
random.sample() - 여러개의 값을 중복없이 무작위로 뽑을 수 있다
random.randint() - 범위 내 정수형을 무작위로 뽑아준다

Object 객체

함수와 데이터를 한번에 묶어둠
파이썬에서는 대부분 객체이다

my_list=[1,2,3] #이것도 객체

0개의 댓글