Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 결측치대체
- 전처리
- subplots
- SimpleImputer
- 파이썬
- DataFrame
- matplotlib
- BDA
- koNLPy
- 누락값
- 보간법
- KoNLP
- value_counts
- stopwords
- join
- 대치법
- interpolate
- IterativeImputer
- 결측치
- countplot
- 데이터프레임
- Boxplot
- Python
- 선형보간
- sklearn
- 불용어
- 이상치
- Seaborn
- MSE
- Outlier
Archives
- Today
- Total
ACAIT
[Python] 220914_2주차 조건문 if(), 반복문 for(), while() 본문
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | ### if문 a = 1 if a > 0: print("a가 0보다 큽니다.") # f9 디버그 브레이크 포인트, f5 디버그 실행, f10 한 줄씩 실행, 조사식에 변수명 추가: 값이 뭔지 나옴 # 브레이크 포인트 실행 안 되면 그 코드가 오류인 거니까 확인하기 쉬움 # 예제 1번) password = "data" ## 대소문자 모두 구분 필요 answer = input("비밀번호를 입력해 주세요 : ") ## input은 무조건 str로 받음. if answer == password: print("correct") # 예제 1-1번) else password = "data" answer = input("비밀번호를 입력해 주세요 : ") if answer == password: print("correct") else: print("false!!") # 예제 2번) 여러 숫자를 입력해 보면서 모든 경우 옳은 답이 나오는지 테스트하기 answer = int(input("숫자를 입력해 주세요 :")) ## input 받기 전에 출력할 문구 꼭 괄호 안에 넣기 if answer < 0 : print("0보다 큰 숫자를 입력해 주세요.") ## 파이썬은 음수 양수 구분 안 하고 다 나머지 구할 수 있기 때문에. else: ## answer > 0 if answer % 2 == 0: ## 중첩 if문 ## even number print("입력하신 숫자는 짝수입니다.") else: ## else가 아닌 if 중복 코드도 가능. if, else는 둘 중 하나만 실행됨. if 두 개는 모든 코드 다 거쳐야 하므로 비효율적 ## odd number print("입력하신 숫자는 홀수입니다.") # 한 줄로 조건문 완성(잘 사용하지 않음) answer = int(input("숫자를 입력해 주세요 :")) message = "짝수" if answer % 2 == 0 else "홀수" # (True일 때 출력할 것) if 조건문 else (False일 때 출력할 것) print(message) # 예제 3번) score = int(input("점수를 입력하세요: ")) if score >= 90: ## if, else만 사용하는 방법 print("A",end="") else: if score>=80: print("B",end="") else: if score>=70: print("C",end="") else: if score>=60: print("D",end="") else: print("F",end="") print("학점입니다.") score = int(input("점수를 입력하세요: ")) if score >= 90: print("A",end="") elif score>=80: ## elif 위에 무조건 if 있어야 함. else는 없어도 됨 print("B",end="") elif score>=70: print("C",end="") elif score>=60: print("D",end="") else: print("F",end="") print("학점입니다.") # 예제 4번) telecom = input("고객님께서 사용 중이신 통신사를 입력해 주세요: ") telecom = telecom.upper() if telecom == "SKT": print("고객님께서 사용 중이신 통신사는 SK텔레콤 입니다.") elif telecom == "KT": print("고객님께서 사용 중이신 통신사는 KT 입니다.") elif telecom == "LG": print("고객님께서 사용 중이신 통신사는 LG U+ 입니다.") else: print("다시 입력해 주세요.") # 예제 5번) age = int(input("고객님의 나이를 입력해 주세요 : ")) if age >= 60: print("고객님의 연령대는 60대 이상 입니다.") ## 큰 숫자부터 if 시작하기 elif age >= 50: print("고객님의 연령대는 50대 입니다.") elif age >= 40: print("고객님의 연령대는 40대 입니다.") elif age >= 30: print("고객님의 연령대는 30대 입니다.") elif age >= 20: print("고객님의 연령대는 20대 입니다.") elif age >= 10: print("고객님의 연령대는 10대 입니다.") elif age > 0: print("고객님의 연령대는 10대 이하 입니다.") else: print("고객님의 나이는 0보다 커야 합니다.") ## 오류 관련 조건문도 같이 작성해 주기 ### 반복문 ### for문 # range(시작값, 끝값+1, 증가값) for i in range(10): ## python, c는 0부터 시작. r은 1부터 시작. ## range(3) == range(0, 3, 1) == [0,1,2] >> 0, 1, 2 세 번 반복. ## 값이 하나만 적혀 있으면 0부터 적힌 값 -1까지 반복. print("i 값은 %d 입니다." % i) # i 값은 0 입니다. # i 값은 1 입니다. # i 값은 2 입니다. for i in range(10): print(i) ## 뒤에 엔터 숨어있음. # 예제 6번) 팩토리얼 (!) 3! = 3*2*1, 10! = 10*9*8*... # 내 풀이 number = int(input("2 이상의 숫자를 입력해 주세요 : ")) fac = 1 for i in range(1, number+1): fac = fac*i print(fac) # 교수님 풀이 6-1) 3의 팩토리얼 구하기 import math print(math.factorial(3)) ## factorial 괄호 안에 숫자 입력하면 함수 활용 가능. # 교수님 풀이 6-2) 3의 팩토리얼 구하기 >> 내 풀이와 유사 n = 3 result = 1 ## 곱하기는 1부터, 더하기는 0부터 시작 for i in range(1,n+1): ## (이상, 미만) result *= i ## result = result * i print(result) # 교수님 풀이 6-3) ## 다시 보기 def factorial(n): result = 1 for i in range(1, n+1): result *= i return result factorial(3) # 교수님 풀이 6-4) 재귀함수. 함수 안의 함수. 3*2!로 흘러가는 것. def factorial(n): return n * factorial(n-1) if n > 1 else 1 print(factorial(3)) # 반복문 안에서 연산하려면 변수 초기값 선언 먼저 필수 res = 0 for i in range(1, 11, 1): res += i print(res) # 반복문 안에 조건문 입력 가능 res = 0 for i in range(1, 11, 1): res += i if i == 5: ## 원하는 중간값 확인하기 print(res) print("1부터 10까지의 합 = %d" % res) ## 최종값 확인하기 # 1000부터 2000까지의 수 중 홀수의 합 res = 0 for i in range(1000,2001): if i % 2 != 0: res += i print("1000부터 2000까지의 수 중 홀수의 합 : %d" % res) # 예제 7번) dan = int(input("구구단 몇 단을 계산할까요? : ")) for i in range(1,10): print("%d x %d = %d" % (dan, i, dan*i)) # 중첩 for문 for i in range(3): for j in range(2): print("i 값은 %d이고, j 값은 %d입니다." % (i,j)) print("%d%d"%(i,j)) # 바깥 for문 안에 중첩 for문 있으면 내부 for문 다 돌고 빠져나가야 바깥 for문 다시 실행 # 안쪽 for문부터 실행된다. # i 값은 0이고, j 값은 0입니다. # 00 # i 값은 0이고, j 값은 1입니다. # 01 # i 값은 1이고, j 값은 0입니다. # 10 # i 값은 1이고, j 값은 1입니다. # 11 # i 값은 2이고, j 값은 0입니다. # 20 # i 값은 2이고, j 값은 1입니다. # 21 # 예제 8번) for i in range(2,10): print("%d단" % i) ## 내가 문제에 추가함(깔끔하게 보려고) for k in range(1,10): print("%d x %d = %d" % (i, k, i*k)) print('') ## 내가 문제에 추가함(깔끔하게 보려고) ### while문 (while문 코드 명시 안 되어있으면 for문이 더 쉬움) # 아래 for문과 동일한 while문 만들기 for i in range(3): print(i) # 풀이 i = 0 while i < 3: ## while 뒤가 참이 될 때까지 반복 print(i) i += 1 # while문 별 찍기 i = 0 while i < 5: print("*"*10) i += 1 ## 마지막에 조건 만들어 주기 # ********** # ********** # ********** # ********** # ********** # while문은 무한루프로 사용. ctrl + c로 강제 종료 안 하면 무한 반복. for문에서는 완전한 무한루프 불가. while 1: print("*"*10) # break문: 반복문 탈출시키는 것 for i in range(5): print("*"*10) if i == 2: ## 0,1,2 세 번만 반복하고 중단하겠다는 조건문 추가 break # continue문: 아무것도 실행 안 하고 다시 반복 돌아가는 것 res = 0 for i in range(10): if i % 2 == 1: continue else: res += i # 예제 11번) 30과 75의 최대 공약수를 출력해 보세요. (문제에 while문 필수라고 하지 않으면 최대한 for문 사용하기.) # 11-1) while문 풀이 i = 1 gcm = 0 while i < 31: if 75 % i == 0 and 30 % i == 0: ## 30과 75의 최대공약수. 동시에 조건 달성되어야 함. gcm = i i += 1 ## 들여쓰기 if문 안에 들어가지 않아도 실행될 수 있도록 주의 print(gcm) # 11-2) for문 풀이 for i in range(1,31): if 75 % i == 0 and 30 % i == 0: gcm = i print(gcm) | cs |
'전공 및 코드 > 데이터 마이닝(Python)' 카테고리의 다른 글
[Python] 221012_6주차 문자열, 사용자 정의 함수, 파일 읽기 및 쓰기 (0) | 2022.10.12 |
---|---|
[Python] 221012_조건문, 반복문 복습 (0) | 2022.10.12 |
[Python] 221008_조건문, 반복문, 리스트, 딕셔너리 복습 (1) | 2022.10.08 |
[Python] 221002_조건문, 반복문, 리스트, 딕셔너리 복습 (0) | 2022.10.02 |
[Python] 220928_4주차 변수 타입, 연산자, 리스트, 딕셔너리 (1) | 2022.09.30 |