2024년 2월 17일
# 파이썬 흐름제어 (제어문) # 조건문, 반복뭌ㄴ # if (True, False) ''' if 조건: print() ''' # score 60점 이상이면 합격했습니다. score = 78 if score>=60: print("합격했습니다.") ''' [조건문에 들어갈 수 있는 거] 비교연산자 데이터 [False 값인 데이터] 정수: 0 실수: 0.0 문자: '' "" 논리: False 리스트: [] 튜플: () 딕셔너리: {} None ''' a=1 print(id(a)) b=1 a=2 print(id(a)) a=1 print(id(a)) print(a==b) # 데이터가 일치하는 지 확인 print(a is b) list1=[] list2=[] print(list1 == list2) print(list1 is list2) list1=list2 print(list1 == list2) print(list1 is list2) list1.append(4) print(list1) print(list2) print(list1 == list2) print(list1 is list2) # 산술>관계>논리 print(5+10>0 and not 7+3==10) print(15>0 and not 10==10) print(True and not True) print(True and False) score1=90 score2='A' # score1 90점 이상이고 score2 값이 'A'이면 합격했습니다 출력 score1 = 60 score2 = 'A' if score1>=90 and score2=='A': print("합격했습니다.") else: print("불합격했습니다.") # elif:else+if if score1>=90: print("A") elif score1>=80: print("B") elif score1>=70: print("C") elif score1>=60: print("D") else: print("F") print("끝")
# 반복문 # while, for # for 범위 반복문 for i in range(5): # [0,1,2,3,4] print(i,"안녕") # range(num):0~num-1 print(range(5)) #0,1,2,3,4 # range(start, end) : start~end-1 for i in range(1,11): print(i) # 홀수 for i in range(1,11): if i%2==1: print(i) for i in range(1,11,2): print(i) for i in range(1,101,2): if i%3==0: print(i) list1=['a','b'] print(list1[0]) print(list1[1]) for l in list1: print(l) for t in (1,2,3,4,5): print(t) for s in "python": print(s) info={'name':'hong','age':25,'school':'woosuk'} for d in info: print(d) ss=set([1,2,3]) for s in ss: print(s) scores=[95,25,64,36,82] # 합계 변수 sum=0 for i in scores: sum=sum+i print(sum) total=0 for i in range(0,len(scores)): total+=scores[i] print(total) for d in info: a=info.get(d) print(a) for d in info: print(info[d]) # name:hong for i in info: print(i,":",info[i]) for k,v in info.items(): print(k,":",v) name="KennRy" rename="" for n in name: if n.isupper(): rename+=n.lower() else: rename+=n.upper() print(rename)
# while:조건반복문 ''' while 조건: ''' v1=1 while v1<10: print("hi") v1+=1 for i in range(1,10): print("hello") # break numbers=[14,3,1,60,50,24,17,2,33,55,15,6,48] for num in numbers: if num==33: print("found 33") break else: print("not found 33") else: print("for문 else") lt=["1",12,4.5,True,[2,4,5],(1,2,3)] for i in lt: if type(i) is not float: print(i)
# 1 ~ 5 문제 if 구문 사용 # 1. 아래 딕셔너리에서 '가을'에 해당하는 과일을 출력하세요. q1 = {"봄": "딸기", "여름": "토마토", "가을": "사과"} for i in q1: if i=="가을": print(q1[i]) # 2. 아래 딕셔너리에서 '사과'가 포함되었는지 확인하세요. q2 = {"봄": "딸기", "여름": "토마토", "가을": "사과"} for k,v in q2.items(): if k=="사과" or v=="사과": print("포함") # 3. 다음 점수 구간에 맞게 학점을 출력하세요. # 81 ~ 100 : A학점 # 61 ~ 80 : B학점 # 41 ~ 60 : C학점 # 21 ~ 40 : D학점 # 0 ~ 20 : E학점 score=61 if score>=81: print("A") elif score>=61: print("B") elif score>=41: print("C") elif score>=21: print("D") elif score>=0: print("E") else: print() # 4. 다음 세 개의 숫자 중 가장 큰수를 출력하세요.(if문 사용) : 12, 6, 18 a=12 b=6 c=18 if a>b and a>c: print(a) elif b>a and b>c: print(b) elif c>a and c>b: print(c) # 5. 다음 주민등록 번호에서 7자리 숫자를 사용해서 남자, 여자를 판별하세요. (1,3 : 남자, 2,4 : 여자) s = "123123=1232131" if s[7]=="1" or s[7]=="3": print("남자") elif s[7]=="2" or s[7]=="4": print("여자") else: print("잘못된 입력") # 6 ~ 10 반복문 사용(while 또는 for) for i in range(6,11): print(i) # 6. 다음 리스트 중에서 '정' 글자를 제외하고 출력하세요. q3 = ["갑", "을", "병", "정"] for i in q3: if i=="정": continue print(i) # 7. 1부터 100까지 자연수 중 '홀수'만 한 라인으로 출력 하세요. for i in range(1,100,2): print(i, end=" ") # 8. 아래 리스트 항목 중에서 5글자 이상의 단어만 출력하세요. q4 = ["nice", "study", "python", "anaconda", "!"] for i in q4: if len(i)>=5: print(i) # 9. 아래 리스트 항목 중에서 소문자만 출력하세요. q5 = ["A", "b", "c", "D", "e", "F", "G", "h"] for i in q5: if i.isupper(): continue print(i) # 10. 아래 리스트 항목 중에서 소문자는 대문자로 대문자는 소문자로 출력하세요. q6 = ["A", "b", "c", "D", "e", "F", "G", "h"] q=[] for i in q6: if i.isupper(): q+=i.lower() else: q+=i.upper() print(q) q6 = ["A", "b", "c", "D", "e", "F", "G", "h"] l=[] u=[] for i in q6: if i.islower(): l+=i else: u+=i print(l) print(u)
# 함수 (function, method) ''' def 함수명(): 실행 ''' a=print("hello") #리턴값 x b=int("15") #리턴값 o print(a) print(b) #1 입력값o,결과값o def add(a,b): return a+b result = add(3,4) print(result) #2 입력값o,결과값x def add2(a,b): print(a+b) result = add2(1,2) print(result) #3 입력값x,결과값o def add3(): return 4+8 result = add3() print(result) #4 입력값x,결과값x def add4(): print(1) add4() def func_mul(x): y1=x*100 y2=x*200 y3=x*300 return y1,y2,y3 return y1+y2+y3 res1,res2,res3=func_mul(5) print(res1) print(res2) print(res3) print(type(res1)) ''' 문제 두 개의 수를 입력받아 곱한 값을 반환해주는 mul 함수를 만들어 사용자에게 입력 받은 두 수의 곱을 출력 (mul함수이용) ''' def mul(a,b): return a*b num1=int(input("첫번째 숫자 입력:")) num2=int(input("두번째 숫자 입력:")) result = mul(num1,num2) print(result) def div(v1,v2): if v2==0: return # 함수를 빠져나오는 용도 return v1/v2 num1=int(input("첫번째 숫자 입력:")) num2=int(input("두번째 숫자 입력:")) result=div(num1,num2) print(result) # 정수로 이루어진 num_list에서 가장 작은 수 5개를 오름차순으로 정렬하여 리턴하는 fun1()함수를 완성 def fun1(num_list): return sorted(num_list)[:5] num_list=[2,4,51,23,5,1,23,4,5,23] result = fun1(num_list) print(result) ''' 정수 배열 arr과 정수 n 매개변수로 주어지는 fun2 함수 arr의 길이가 홀수면 arr의 짝수 인덱스에 해당하는 데이터에 n을 더한 값을 arr의 길이가 짝수면 arr의 홀수 인덱스에 해당하는 데이터에 n을 더한 배열을 리턴하는 함수 ''' def fun2(arr,n): a_list=[] if len(arr)%2==1: #홀 for i in range(0,len(arr),2): if i%2==0: a_list.append(arr[i]+n) else: a_list.append(arr[i]) else: #짝 for i in range(1,len(arr),2): if i%2==1: a_list.append(arr[i]+n) else: a_list.append(arr[i]) return a_list arr=[49,12,100,276,33] n=27 print(fun2(arr,n)) arr=[444,555,666,777] n=100 print(fun2(arr,n))