일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ECS
- opencv
- matplotlib
- keras
- Project
- javascript
- angular
- AWS
- analyzing
- python
- 프로젝트
- data
- Scrum
- webcrawling
- TypeScript
- adaptive life cycle
- visualizing
- instance
- algorithm
- pandas
- DANAWA
- 크롤링
- 자바스크립트
- 다나와
- 애자일
- data analyze
- Method
- tensorflow
- Agile
- Crawling
Archives
- Today
- Total
LiJell's 성장기
03.python_conditional_statements_loop 본문
반응형
Modified on Wed Dec 29
-- coding: utf-8 --
"""
Created on Wed Dec 15 13:37:35 2021
@author: hanju
"""
1) 조건문과 반목문
논리연산자
- and
- or
- not
v1=1
(v1>=3) and (v1<=7) #3과 7사이
False
(v1>=3) & (v1<=7)
False
(v1<=3) or (v1>=7) #3과 같거나 작거나 7과 같거나 크다
True
(v1<=3) | (v1>=7) #shift 하고 원화 표시 누르면 나옴 |
True
not(v1==1)
False
1. 조건문 if
형식
if 조건:
#참(True)일 때 실행문장
else:
#거짓(False)일 때 실행문장
if 조건1:
#조건1이 참(True)일 때 실행문장
elif 조건2:
#조건1이 거짓(False)이고 조건2가 참일 때 실행문장
else:
#조건1,2,가 모두 거짓(False)일 때 실행 문장
v1=10
if v1>5:
print('A')
else:
print('B')
A
#리스트는 불가
l1 = [1,3,5,7,8]
if l1>5:
print('A')
else:
print('B')
# TypeError: '>' not supported between instances of 'list' and 'int'
2. 반복문
- 객체의 각 원소에 동일한 연산처리 진행할 경우 사용
for 문 : 정해진 횟수, 대상이 있을 경우
for 반복변수 in 반복할 대상(범위):
- 반복 실행할 문장
1~10 까지 출력하세요.
- range(1,11)
for i in range(1,11):
print(i)
1
2
3
4
5
6
7
8
9
10
예제
다음의 리스트 선언하고 5보다 클 경우, 'A', 작거나 작을 경우 'B'
l1 = [1,3,5,15,25]
for i in l1:
if i>5:
print('A')
else:
print('B')
B
B
B
A
A
위 l1 리스트에서 각 원소에 10을 더해서 출력
l1 +10 # 불가
TypeError: can only concatenate list (not "int") to list
l1 = [1,3,5,15,25]
for i in l1:
print(i+10)
SyntaxError: invalid syntax
- for 문의 결과를 바로 변수로 저장하는 것은 불가
정답
l1 = [1,3,5,15,25]
l2 =[] #넣을 공간인 리스트를 만든다
for i in l1:
l2.append(i+10)
print(l2)
[11, 13, 15, 25, 35]
l3 = [1,2,3]
l3.append(4)
l3
[1,2,3,4]
while 문: 조건에 따른 반복을 실행하는 경우
- while 조건:
조건이 참일 때 반복 문장
예제
while 문으로 1~10까지 출력
i=1
while i<=10: # 조건이 끝날 때 까지 반복
print(i)
i= i+1
1
2
3
4
5
6
7
8
9
10
문제
1~100 까지 총 합
vsum = 0
for i in range(1,101):
vsum=vsum + i
print(vsum)
5050
i vsum 일반화
1 1 vsum + 1
2 1 + 2 vsum + 2
3 1 + 2 +3 vsum + 3
4 1 + 2 +3 + 4 vsum + 4
---> vsum+i
# 다른 방법
vvvv= sum(i for i in range(1,101))
print(vvvv)
5050
1~100까지 짝수 총합
vsum=0
for i in range(1,101):
if i%2 ==0:
vsum=vsum +i
print(vsum)
2550
3.반복제어문
- continue : 특정 조건일 경우 반복문 스킵
- break : 특정 조건일 경우 반복문 종료 (정지조건)
- exit : 특정 조건일 경우 프로그램 종료
- pass : 문법적으로 오류가 발생시키지 않기 위해 자리를 채우는 역할
예제
1~10출력, 5제외
- continue
for i in range(1,11):
if i == 5:
continue
print(i)
5일 때 종료 하고싶을 때
- break
for i in range(1,11):
if i ==5:
break
print(i)
1
2
3
4
- exit
# for i in range(1,11):
# if i ==5:
# exit(0)
# print(i) 실행하진 말자! 프로그램이 종료된다.
- pass
v1 = 1
if v1> 10:
#pass
else:
print('b') # pass에 주석처리를 없애면 오류가 나지 않고 b 값이 반환된다.
#IndentationError: expected an indented block
v1 = 1
if v1> 10:
pass
else:
print('b')
b
문제
1부터 100까지 누적합이 최초 2000 이상이 되는 시점의 k 과 총 합을 출력하세요.
1 + 2 + 3 + .... + k >=2000
vsum = 0
for i in range(1,101):
vsum = vsum + i # or vsum += i
if vsum >=2000:
break
print(i, vsum)
63 2016
반응형
'Bigdata > 파이썬_Python' 카테고리의 다른 글
06.python_str_method (0) | 2021.12.20 |
---|---|
05.python_numpy (0) | 2021.12.15 |
04.python_def_lambda_map (0) | 2021.12.15 |
02.python_02_함수와 메서드 (0) | 2021.12.15 |
01.python_01_변수와 리스트 (0) | 2021.12.14 |
Comments