우주먼지
Published 2022. 8. 4. 10:10
Python 개념 메모 Languages/Python

튜플 = ()를 사용하여 데이터 정의
튜플은 값의 변경허용 x
인덱싱 값을 이용해 데이터에 접근가능
튜플의 슬라이싱을 이용해 데이터의 일부분 추출 가능
+ , * 연산자 사용가능


딕셔너리 = {key , value} 로 이루어진 데이터를 다룰때 씀
Key를 이용해 value를 찾아냄


집합자료형은 set키워드를 이용하여 정의
데이터의 중복 허용 x


불자료형은 참 or 거짓을 표현하는 데이터를 저장
True=1, False=0 라는 키워드를 사용ㄹ하여 참,거짓 정보를 나타냄. 


[조건문]

if 조건문:
(4칸) 수행할 문장1
(4칸) 수행한 문장 2

else:
(4칸) 수행할 문장 A
(4칸) 수행할 문장 B

money=2000
if money >=3000:
    print("택시를 타고 가라")
else:
    print("걸어 가라")


* 비교연산자를 통한 if문 사용 = x < y 등등
x = 3
y = 2
if(x>y):
    print("if 문 수행!")

[elif 사용법] 이전 조건문이 거짓일떄 수행됨 if -> elif -> elif -> elif -> else
if , else 문으로는 산만한 느낌이 듬 ↓
------------------------------------------------------------
주머니에 돈이있으면 택시를타고,
주머니에 돈은 없지만 카드아 있으면 택시를 타고,
돈과 카드도 없으면 걸어가라

pocket = ['paper','cellphone']
card = true
if 'money' in pocket:
    print("택시를 타고 가라)
else:
        if card:
            print("택시를 타고 가라")
        else:
            print("걸어 가라"
-------------------------------------------------------------
pocket = ['paper','cellphone']
card = true
if 'money' in pocket:
    print("택시를 타고 가라)
elif card:
    print("택시를 타고 가라")
else:
    print("걸어 가라"
----------------------------------------------------------

input() = read 명령어처럼 키보드입력을 받음




if (bllodPressure['age'] >= 10 and bloodPressure['age'] < 20): # 10 대
    if(bloodPressure['sex'] == 'M'):
        if(bloodpressure['maxBP']<102 and bloodpressure['minBP']<64):
            print("정상 혈압입니다.")
        else:
            print("비정상 혈압입니다. 정밀검사가 필요합니다.")
   elif (bloodPressure['sex'] == 'F'):
        if(bloodpressure['maxBP']<98 and bloodpressure['minBP']<62:
            print"정상 혈압입니다.")
        else:
            print("비정상 혈압입니다. 정밀검사가 필요합니다.")
    else:
        print("성별을 잘못 입력하였습니다.") # 예외 처리

-----------------------------
while 반복문 
* for문반복의 경우 횟수가 정해져 있을떄 보통 사용하고 , 횟수를 정확히 모를떄 while문 사용

while 조건문:    <- 조건이 참인동안 아래 코드가 계속 반복

[예제]

treehit = 0
while treehit < 10:
    treehit = treehit + 1
    print("나무를 %d번 찍었습니다."% treehit)
    if treehit == 10:
        print("나무 넘어갑니다")

---
break 문 = 강제로 while 문을 빠져나가야 할 때 사용

[예제]

coffee = 10
money = 300 
while money:     <- money에 데이터가 있으면 true , 데이터가 0이면 false   ,  그런데 money가 300으로 고정되어있으므로 항상 참 , 즉 무한루프코드이므로 break 를 써야한다.
    print("돈을 받았으니 커피를 줍니다.")
    coffee = coffee -1
    print("남은 커피의 양은 %d개입니다." % coffee)
    if coffee == 0:
        print("커피가 다 떨어졌습니다. 판매를 중지합니다.")
        break

---
continue 문 = while 문을 빠져나가지 않고 while문의 맨 처음(조건문)으로 다시 돌아가야 할때 사용

[예제] 1~10 숫자중 홀수만 출력

a = 0
while a < 10:
    a = a + 1
    if a % 2 == 0: continue    <- a에 2를 나눈 나머지가 짝수면 출력하지 않고 처음 조건문으로 돌아감.
    print(a)
1
3
5
7
9

---
for문 반복의 기본 구조

for 변수 in 리스트(또는 튜플,문자열):

[예제] 리스트나 튜플,문자열의 첫번쨰부터 마지막까지 *차례대로* 변수에 대입되어 for문이 수행됨

test_list = ['one', 'two', 'three']
for i in test_list
    print(i)
one
two
three

---
range() 함수 사용법

a = range(10)
a
range(0,10)    <- 0에서 10 미만이므로 1부터 9까지 숫자를 포함하는 range 객체를 생성


a = range(1,11)
a
range(1,11)  <- 1 ~ 10 까지의 숫자만 포함 , 끝숫자인 11인 반환범위에 포함되지 않음

[예제] 구구단 만들기

for i in range(2,10):
    for j in range(1, 10):
        print(i*j, end=" ")
    print(' ')

2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 . . .
5 . . .

---
리스트 안에 for 문 포함하기 / 리스트 내포 사용법

[예제] a 리스트의 각 항목에 3을 곱한 결과를 result 리스트에 다시 담는 예제

a = [1,2,3,4]
result = [] a = [1,2,3,4]
for num in a:                            or                     resule = [num * 3 for num in a]      
    result.append(num*3) print(result)
print(result) [3, 6, 9, 12]
[3, 6, 9, 12]

리스트 안에 for 문 포함하며 if 조건문 사용

a = [1,2,3,4]
result = [num * 3 for num in a if num % 2 == 0]
print(result)
[6, 12]

---
리스트 내포 사용법중 for문 2개 이상 사용가능

[표현식 for 항목 in 반복 가능 객체 if 조건1
    for 항목 in 반복 가능 객체 if 조건2

    for 항목 in 반복 가능 객체 if 조건n]

구구단의 모든 결과를 리스트로 담는 리스트 내포 예제

result = [x*y for x in range(2,10)
    for y in range(1,10)]
print(result)

---
반복문을 이용한 학생 성적 처리

#학생들 성적
score = [[23,90,20,90],[25,50,20,10],[0,10,0,30],[5,70,5,100]]     # 리스트 안에 리스트
grade = []

for i in score:   # 학생 개인의 성적 ex) [23,90,20,90] 리스트 반환
    sum = 0
    for j in i:    # 성적 반영 요소 (퀴즈, 중간, 레포트, 기말)
        sum +=j                                      <- 23 + 90 + 20 + 90
    grade.append(sum)         <- [ 100,120,120,110] 이런식
print(grade)


-----------9---------

함수 생성 예약어 = def
함수 이름은 임의 생성 가능

함수정의def add(a, b):     <- (임의 생성이름 = add에 매개변수 a,b 입력)
    return a + b


함수 호출
a = 3
b = 4
c = add(a, b)  <- arguments(인수)
print(c)
결과값

-함수의형태-
1. 일반적인 함수(입력,결과값O)

def add(a, b):
    result = a + b
    return result

a = add(3, 4)  <- [함수호출] 결과값을 받을 변수 = 함수이름(add) (인수a,b)
print(a)
7


2. 입력값이 없는 함수 

dev say()              <- 입력값 X
    return 'Hi"

a = say()
print(a)
Hi


3. 결과값이 없는 함수

def add(a, b):
    print("%d, %d의 합은 %d입니다." (a, b, a+b))

add(3, 4)    <- 결과값이 없기떄문에 인수를통한 함수호출만하면 결과값이 생김
3,4의 합은 7입니다.
print(a)
None

4. 입력값,결과값이 없는 함수 (매개변수,return문 X)

def say():
    print('Hi")

say()
Hi

---
함수 호출시 매개변수 지정 가능

def add(a, b):
    return a+b

result = add(b=5, a=3)   <- 매개변수를 지정하면 매개변수 순서에 상관없아 사용가능한 장점
print(result)
8

---

초기값을 미리 설정
- 매개 변수에 들어갈 값이 항상 변하는것이 아니면, 초기값을 미리 설정하는것이 유용함.

def say_myself("박응용", 27, True)

say_myself(name, old, man)
print(say_myself)

---

지역(local) 변수 / 함수안에서 변수 범위
함수 안에서 사용할 변수의 이름을 함수밖에서도 동일하게 사용한다면?

vartest.py
a = 1
def vartest(a):
    a = a +1

vartest(a)
print(a)

profile

우주먼지

@o귤o

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그