02.Control
01.if
''' 제어문 = 조건문(if) + 반복문(while, for) 조건문 기본 형식1) python 블럭 if 조건식 : 실행문 실행문 cf) c언어 블럭 if 조건식 { 실행문 } ''' var = 10 # 초기화 if var >= 5 : # True print('var=', var) print('var는 5보다 크다.') if var >= 20 : # False print('var=', var) print('var는 5보다 크다.') print('항상 실행된다.') ''' 형식2) if 조건식 : 실행문1 -> True else : 실행문2 -> False ''' var = 12 if var > 5 : print('var는 5이상') # 12 : var는 5이상 else : print('var는 5미만') # 2: var는 5미만 # 키보드 점수 입력 : 100~85: 우수, 84~70: 보통, 69미만 : 저조 score = int(input('점수 입력 : ')) if score >= 85 and score <= 100 : print('우수') else : if score >= 70 and score <= 84 : print('보통') else : print('저조') # 시스템 날짜/시간 가져오기 import datetime # 패키지 today = datetime.datetime.now() # 패키지.모듈.함수() print(today) # 2018-12-16 13:38:20.973000 day = today.weekday() print('요일 : ', day) # 요일 : 6(일요일) - (0~6) if day >= 5 : print('오늘은 주말') else : print('오늘은 평일') # 오늘은 주말 ''' 형식3) if 조건식1 : 실행문1 elif 조건식2 : 실행문2 -> 조건식 False else : 실행문3 -> 조건식1 & 조건식2 False ''' # 문) 키보드 점수 입력 : 100~85: 우수, 84~70: 보통, 69미만 : 저조 # 조건> 형식3 으로 적용 grade = '' # None if score >= 85 and score <= 100 : #print('우수') grade = "우수" elif score >= 70 and score <= 84 : #print('보통') grade = "보통" else : #print('저조') grade = "저조" print('점수는 %d 이고, 등급은 %s 이다.'%(score, grade)) ''' 블럭 외부에서 선언한 변수는 블럭 내부와 외부에서 사용 가능함 ''' # 3항 연산자 num = 9 result = 0 if num >= 5 : result = num * 2 else : result = num + 2 print('result =', result) # result = 18 ''' 3항 연산자 형식) 변수 = 참 if 조건식 else 거짓 ''' result = num * 2 if num >= 5 else num + 2 print('result =', result) # result = 18
02.while
''' 반복문(while) 형식) while 조건식 : 실행문 실행문 조건식 : 산술,관계,논리 연산자 ''' # 카운터/누적 변수 cnt=tot=0 while cnt < 5 : #True(cnt=0~4), False(cnt=5~) cnt += 1 # cnt = cnt + 1(카운터 변수) tot += cnt # tot = tot + cnt(누적 변수) print('cnt=',cnt, 'tot=', tot) ''' cnt= 1 tot= 1 -> 1회 반복 cnt= 2 tot= 3 cnt= 3 tot= 6 cnt= 4 tot= 10 cnt= 5 tot= 15 -> 5회 반복 ''' # 문1) 1~100까지 누적 합을 출력하시오. # 문2) 1~100사이 중 5의 배 합을 출력하시오. # 문3) 1~100사이 중 3의 배수이면서(and) 2의 배수가 아닌 경우의 합 출력 i = tot = tot5 = tot32 = 0 # 카운터/누적 변수 dataset = [] # 여러 개 원소 저장 변수 dataset2 = [] while i < 100 : # 문1) i=100 : False, i=99 : True i += 1 # 카운터(99+1=100) tot = tot + i # 누적(1~100) if i % 5 == 0 : # 문2) tot5 += i # 누적(5배) dataset.append(i) # 원소 추가 # 연산자 우선순위 : 산술 > 관계 > 논리 if (i % 3 == 0) and (i % 2 != 0) : # 문3) tot32 += i dataset2.append(i) print('1~100까지 누적 합 = %d'%tot) print('1~100까지 5의 배수의 합 = %d'%tot5) print('1~100까지 3의 배수이면수 2의 배수가 아닌 합 = %d'%tot32) ''' 1~100까지 누적 합 = 5050 1~100까지 5의 배수의 합 = 1050 ''' print('5의 배수 원소 : ', dataset) print('3의 배수이면수 2의 배수가 아닌 원소 : ', dataset2) ''' scala : 한 개의 값(상수)을 갖는 변수(크기) vector : 다수의 값을 갖는 변수(크기와 방향) ''' vector = [] # 벡터 변수 cnt = 0 # 스칼라 변수 while cnt < 5 : vector.append(cnt+5) # 0+5 cnt += 1 print('vector :', vector) # vector : [5, 6, 7, 8, 9] print('vector 원소 찾기') search = int(input( i = 0 # index 역할 #print(vector[i]) # 5 ''' 스위칭[on/off] 기법 ''' size = len(vector) sw = False while i < size : if vector[i] == search : # True sw = True print(vector[i]) i += 1 if sw == False : print('찾는 값이 없습니다.') else : print('찾는 값이 있습니다.') ''' break, continue - 반복문에서 사용되는 키워드 - break : 반복을 탈출(exit) - continue : 반복을 지속(다음 문장 수행 안함) ''' i = 0 while i < 10 : i += 1 # 카운터 변수 if i == 3 : continue # 지속 print('i=', i) # 1 ~ 6 if i == 6 : break # exit ''' i= 1 i= 2 i= 4 i= 5 i= 6 ''' # vector : [5, 6, 7, 8, 9] size = len(vector) # 찾는 데이터가 있으면 출력 idx = 0 while idx < size : if vector[idx] == search : # True print(vector[idx]) break idx += 1
03.for
''' 반복문(for) 형식) for 변수 in 열거형객체 : 실행문 실행문 열거형 객체 : list, tuple, set, dict ''' # list 이용 dataset = [1,2,3,4,5] for d in dataset : print(d) # 실행문 print(d*2) # 실행문 # range() 함수 : 일련의 정수 생성 ''' range(n) : 0 ~ n-1 정수 range(n,m) : n ~ m-1 정수 ''' print('range') r = list(range(10)) # 0 ~ 9 print(r) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] for i in r : # 10회 반복 print(i, end = ' ') # 0 1 2 3 4 5 6 7 8 9 print() # line skip for i in range(1,6) : # 1~5 print(i, end = ' ') # 1 2 3 4 5 print() # list -> list lst = list(range(1,101)) # 1 ~ 100 lst2 = [] # 빈 list -> 2의 배수 for i in lst : # 100반복 if i % 2 == 0 : lst2.append(i) print('lst2=', lst2) # 문) lst3에 1~50을 저장하고, lst4에 5의 배수만 추가하기 lst3 = list(range(1, 51)) lst4 = [] # 빈 list for i in lst3 : if i % 5 == 0 : lst4.append(i) print('lst4=', lst4) # lst4= [5, 10, 15, 20, 25, 30, 35, 40, 45, 50] # 분류정확도 계산 Y = [1,2,3,1,2] # 관측치[정답] y = [1,2,1,1,2] # 예측치[모델] acc = 0 # 분률정확도 for i in range(len(Y)) : # [0~4] fit = int(Y[i] == y[i]) # T/F -> 1/0 acc += fit * 20 # 분류정확도 계산 print('accuracy =', acc) # accuracy = 80 # 다중 for문 ''' 형식) for 변수 in 열거형객체 : for 변수 in 열거형 객체 : 실행문 ''' # 구구단 : 2~9단 for i in range(2,10) : # outer(2~9단) print('***',i,'단***') for j in range(1,10) : # inner(곱수:1~9) print('%d * %d = %d'%(i, j, i*j)) print() # 빈줄 lst1 = [3,4,5] # outer lst2 = [0.5, 0.25, 0.125] # 1/2, 1/4, 1/8 - inner for i in lst1 : print('i=', i) for j in lst2 : calc = i * j print(calc) print() # for + 문자열 처리 string = """나는 홍길동 입니다. 나이는 35세 입니다. 주소는 서울 입니다.""" # 문단 -> 문장 : 엔터키 기준 lines = string.split(sep="\n") print(lines) # ['나는 홍길동 입니다.', '나이는 35세 입니다.', '주소는 서울 입니다.'] print(len(lines)) # 3 for doc in lines : print(doc) ''' 나는 홍길동 입니다. 나이는 35세 입니다. 주소는 서울 입니다. ''' docs = [] # 문장 words = [] # 단어 # outer for : 문단 -> 문장 : 엔터키 기준 for doc in string.split(sep='\n') : # '나는 홍길동 입니다.' docs.append(doc) # inner for : 문장 -> 단어 : 공백 기준 for word in doc.split(sep=" ") : # sep=" " 생략 words.append(word) print('전체 문장') print(docs); print('문장 길이 : ', len(docs)) print('전체 단어') print(words); print('단어 길이 :', len(words)) ''' 전체 문장 ['나는 홍길동 입니다.', '나이는 35세 입니다.', '주소는 서울 입니다.'] 문장 길이 : 3 전체 단어 ['나는', '홍길동', '입니다.', '나이는', '35세', '입니다.', '주소는', '서울', '입니다.'] 단어 길이 : 9 '''
02.Control的更多相关文章
- RMAN 备份与恢复深入解析(二)
RMAN 备份与恢复深入解析(一) http://space.itpub.net/26686207/viewspace-760869 更多精彩内容尽在 www.leonarding.com < ...
- CMSIS-RTOS的使用
CMSIS-RTOS实现通常作为库提供.要将RTOS功能添加到现有的基于CMSIS的应用程序,需要添加RTOS库(通常是配置文件).RTOS库的可用功能在头文件cmsis_os.h中定义,该文件特定于 ...
- open阶段的一致性检验(二)
SQL> select * from v$version where rownum=1; BANNER --------------------------------------------- ...
- Node.js学习笔记 02 Implementing flow control
What is flow control? 和其它语言一样,Node.js 在代码编写时,如何组织代码,如何写出clean code都是不可避免的难点. 同时,由于Node.js的天然特性(异步,事件 ...
- Oracle Recovery 02 - 常规恢复之不完全恢复
背景:这里提到的常规恢复指的是数据库有完备可用的RMAN物理备份. 实验环境:RHEL6.4 + Oracle 11.2.0.4 单实例. 二.常规恢复之不完全恢复:部分数据丢失 2.1 重做日志文件 ...
- Aoite 系列(02) - 超动感的 Ioc 容器
Aoite 系列(02) - 超动感的 Ioc 容器 Aoite 是一个适于任何 .Net Framework 4.0+ 项目的快速开发整体解决方案.Aoite.Ioc 是一套解决依赖的最佳实践. 说 ...
- Java多线程系列--“JUC集合”02之 CopyOnWriteArrayList
概要 本章是"JUC系列"的CopyOnWriteArrayList篇.接下来,会先对CopyOnWriteArrayList进行基本介绍,然后再说明它的原理,接着通过代码去分析, ...
- Linux VFS Extended Attribute And Access Control Table
catalog . 简介 . 扩展属性 . 访问控制表 . 小结 0. 简介 许多文件系统都提供了一些特性,扩展了VFS层提供的标准功能,虚拟文件系统不可能为所有特性都提供具体的数据结构.超出标准的U ...
- 仿iOS Segmented Control样式"
同步发表于http://avenwu.net/2015/02/05/styled_radiogroup_segmented_control Fork on github https://github. ...
随机推荐
- 字符串格式的方法%s、format和python3.6新特性f-string和类型注解
一.%s msg = '我叫%s,今年%s,性别%s' %('帅哥',18,'男') print(msg) # 我叫帅哥,今年18,性别男 二.format # 三种方式: # 第一种:按顺序接收参数 ...
- docker之常用命令、自定制镜像、公(私)仓库的上传和下载
一.docker命令 1.参数和命令汇总 1. 参数 Options: --config=~/.docker Location of client config files #客户端配置文件的位置 - ...
- FileZilla-02
WordPress的权限方案 通常,所有文件应由您的Web服务器上的用户(ftp)帐户拥有,并且应该可由该帐户写入.在共享主机上,文件永远不应归Web服务器进程本身所有(有时这是www,或apache ...
- 多进程multiprocessing
PACKAGE CONTENTS connection dummy (package) forking heap managers pool process queues reduction shar ...
- Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2)
A. Be Positive 题意:给出一个数组 每个树去除以d(d!=0)使得数组中大于0的数 大于ceil(n/2) 求任意d 思路:数据小 直接暴力就完事了 #include<bits/s ...
- 使用mysql将手机号、身份证号等字段进行脱敏
-- 脱敏姓名 UPDATE wb_person_message SET `name`=(if(LENGTH(name)>6,CONCAT(LEFT(name,1), '**' ),CONCAT ...
- python6-深浅拷贝 元组类型 字典类型 集合类型
一,深浅拷贝 (一) 值拷贝:应用场景最多 案例:1.ls = [1, 'abc', [10]] ls1 = ls # :ls1直接将ls中存放的地址拿过来# : ls内部的值发 ...
- Matlab怎么修改显示数值格式/精度/小数位数
参考:https://jingyan.baidu.com/article/7f41ecec1ad029593c095c70.html
- Python复习笔记(十一)TCP/IP协议
1. TCP/IP协议简介 帧头: mac地址, 网卡上的序列号 2. wireshark使用 分析一个数据是否发送, 是否是网络问题 ip.dst == 192.168.0.137 and udp ...
- 把 Nginx 创建为 Windows 的一个服务
译序:Nginx 不是为 Windows 而写.Nginx 是用在软件的工作环境中的.但软件开发环境一般都是 Windows,有时调试的需要也要装 Nginx,但 Nginx 并没给 Windows ...