-
파이썬 - 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 25enumerate - 열거하다, 한 개 한 개씩 수에 올리다, 계산하다.
더보기-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 27i 와 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)
출처
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 도 적용 가능.