ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 - IF, FOR, DEF
    파이썬 정리/사전캠프 2024. 3. 26. 14:39

    IF

    money = 1500
    
    if money >3800 :
    	print('by taxi')
    elif >1500 :
    	print(' by bus')
    else :
    	print(' how to? ')
    print(' need to go.. ' )

     

    들여쓰기의 중요성

    명령어에 종속 된 행동을 하기 위해서는 들여쓰기를 해야 한다.

    결과는 by bus need to go..

    들여쓰기를 적용하지 않는다면 수치의 변화에 따른 결과값이 아닌, 고정값으로 출력된다.

    + elif 는 반복 사용이 가능하다.

     

     

     

     

    반복

    fruits = ['사과' , '배' , '감' , '수박' , '딸기'] 
    for fruit in fruits :
        print(fruit)
    #반복문은 리스트 안에서 있는 요소를 써먹는 것.

    결과는

    사과


    수박
    딸기

    더보기

    반복문 활용

    people = [
        {'name': 'bob', 'age': 20},
        {'name': 'carry', 'age': 38},
        {'name': 'john', 'age': 7},
        {'name': 'smith', 'age': 17},
        {'name': 'ben', 'age': 27},
        {'name': 'bobby', 'age': 57},
        {'name': 'red', 'age': 32},
        {'name': 'queen', 'age': 25}
    ]
    for person in people :
        print(person)

    결과는

    {'name': 'bob', 'age': 20}
    {'name': 'carry', 'age': 38}
    {'name': 'john', 'age': 7}
    {'name': 'smith', 'age': 17}
    {'name': 'ben', 'age': 27}
    {'name': 'bobby', 'age': 57}
    {'name': 'red', 'age': 32}
    {'name': 'queen', 'age': 25}

     

     

    people = [
        {'name': 'bob', 'age': 20},
        {'name': 'carry', 'age': 38},
        {'name': 'john', 'age': 7},
        {'name': 'smith', 'age': 17},
        {'name': 'ben', 'age': 27},
        {'name': 'bobby', 'age': 57},
        {'name': 'red', 'age': 32},
        {'name': 'queen', 'age': 25}
    ]
    for person in people :
        name = person['name']
        age = person['age']
        if age > 20:
        	print(name, age)

     

     

    결과

    carry 38
    ben 27
    bobby 57
    red 32
    queen 25

     

     

     

    enumerate - 열거하다, 한 개 한 개씩 수에 올리다,  계산하다.

    더보기

    -seq : sequence_type_object로 string, list, tuple, range() 변수 등이 있음

    -start : default = 0

               값 지정 시 해당 start 값부터 index 시작

    -결과값 : (start, seq[0]), (start+1, seq[1]), (start+2, seq[2]), ....

                   즉, (index, seq의 element 값) 으로 구성된 tuple로,

                   enumerate object 라는 새로운 데이터 타입을 생성하여 return

     

    https://blog.naver.com/youndok/222027341773

    출처  : 스스로 배우는 코딩 (Self-Taught Coding)

     

     

    people = [
        {'name': 'bob', 'age': 20},
        {'name': 'carry', 'age': 38},
        {'name': 'john', 'age': 7},
        {'name': 'smith', 'age': 17},
        {'name': 'ben', 'age': 27},
        {'name': 'bobby', 'age': 57},
        {'name': 'red', 'age': 32},
        {'name': 'queen', 'age': 25}
    ]
    for i, person in enumerate(people) :
        name = person['name']
        age = person['age']
        print( i, name, age)
        if i >3
            break

    결과는 

    0 bob 20
    1 carry 38
    2 john 7
    3 smith 17
    4 ben 27

     

    i 와 enumerate 를 이용하여 리스트 상의 순서를 숫자로 표현해줌?

     

    for 반복문 활용

    더보기

    리스트 상의 짝수 갯수 세는 법

    num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
    b_list = []
    for num in num_list:
        if num%2 == 0  :
            b_list.append(num)
    print(len(b_list))
    
    
    num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
    count = 0
    for num in num_list:
        if num%2 == 0  :
           count += 1
    print(count)

     

    최대값 활용

    num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
    A = 0
    for num in num_list :
        if num > A:
            A = num
    print(A)

     

     

    함수?

    def(ine)

    함수를 정의하는 예약어.

    def bus_rate(age) :
    	if age >65 :
        	print( "노인입니다" )
        if age >20 : 
        	print( "성인입니다" )
        else : 
        	print( "청소년입니다" )
    bus_rate(n)
    
    
    
    def bus_rate(age) :
    	if age >65 :
        	return 0
        if age >20 : 
        	return 1200
        else : 
        	return 750
    myrate = bus_rate(n) #return 에 따라 맞는 값으로 변화
    print(myrate)

     

    n 값에 따라 다른 결과 값이 출력되며

    이 조건문(함수)을 반복해서 사용 할 필요 없이 함수명만 작성하면 기능이 동일하게 작동함

    더보기

    def 뒤에 함수 이름을 쓰고, 소괄호 안에 인자를 넣는다. 콜론을 찍고, 한줄 띄고, 탭을 누른 후 함수 본문을 쓴다.

    함수 본문에서는 인자를 이용하여 원하는 작업을 수행하고, return 을 이용하여 리턴값을 전달한다.

     

    입력, 반환 값

      입력값 O 입력값 X
    반환값 O def fun1 (a,b)
          return a * b
    c= func1(3,9)
    print(c)
    def fun2() :
          return "abcdefg"

    a = fun3()
    print(a + "GG")
    반환값 X def fun3(a,b) :
          print( f'{a} 곱하기 {b} = {a}*{b}
    fun3(1,3)
    fun3(2,4)
    ....
    def fun4():
          print('AA')
    fun1()
    fun1()
    ....

    출처

    [python] 파이썬 함수 정리와 예제 (def) (tistory.com)

    입력값이 없는 경우 -> str 문자값을 다루는경우

    반환값이 없는 경우 -> print 문을 사용하지 않는 경우

    이것이 맞을까?

     

    return

    뒤에 오는 값을 함수의 결과값으로 리턴한다. 이후의 본문 안 코드는 실행하지 않는다.

    -> 리턴 뒤의 값의 되어 출력 됨.

     

     

    입력값 

    1. 매개변수 (parameter)

    2. 인수 (argument)

    출처

    파이썬 함수와 매개변수, 인수 (velog.io)

     ANSI

    The Standard - C (iso-9899.info)

     

     

    응용

    #7번째 자리 or split
    def gender(SSN) :
        if SSN[7] == '2' or '4' :
            print('여성')
        else : print('남성')
    gender('213455-522334')
    
    
    
    def gender(SSN) :
        num=SSN.split('-')[1][:1]
        if float(num)%2 == 0 :
            print('여성')
        else : print('남성')
    gender('213455-522334')

     

     

    주의점 및 참고

    int(num) 은 str인 숫자를 int로 전환시켜준다.

    float 도 적용 가능.

    '파이썬 정리 > 사전캠프' 카테고리의 다른 글

    파이썬 - 5일차  (0) 2024.03.28
    파이썬 - 4일차  (0) 2024.03.27
    파이썬 - 3일차  (0) 2024.03.26
    파이썬 - 연산자, SPLIT, LIST, DICT  (0) 2024.03.25
Designed by Tistory.