기본 프로그래밍
num1 = int(input('숫자1-->'))
num2 = int(input('숫자2-->'))
res = num1 + num2
#print(num1, '+', num2 , '=', hap)
#print("%d + %d = %d" % (num1, num2 , hap) )
print("{1:d} + {0:f} = {2:5.2f}".format(num1, num2 , res) )
res = num1 - num2
print("{1:d} - {0:f} = {2:5.2f}".format(num1, num2 , res) )
res = num1 * num2
print("{1:d} * {0:f} = {2:5.2f}".format(num1, num2 , res) )
res = num1 / num2
print("{1:d} / {0:f} = {2:5.2f}".format(num1, num2 , res) )
res = num1 % num2
print("{1:d} % {0:d} = {2:d}".format(num1, num2 , res) )
조건문
"""
num1 = 100
if num1 > 100 :
print('100보다 크다')
print('수고했어요.')
elif num1 < 100 :
print('100보다 작다')
print('또 수고했어요.')
else :
print('100이다.')
"""
jumsu = int(input('점수-->'))
if jumsu > 90 :
print('A', end='')
elif jumsu > 80 :
print('B', end='')
elif jumsu > 70 :
print('C', end='')
else :
print('F', end='')
print('학점 입니다')
반복문
# 0부터 10까지 출력하기
# for (int i=0; i<11; i++)
# for i in range(0,11,1) : # range(0,11) range(11)
# print(i)
# 0부터 100까지의 합계는?
hap = 0
for i in range(101) :
hap += i
print(hap)
# 퀴즈3-1. -3333 ~ +4444까지 합계
hap = 0
for i in range(-3333,4445,1) :
hap += i
print(hap)
# 3-2. 77부터 2345까지 홀수의 합계
hap = 0
for i in range(77,2346,2) :
hap += i
print(hap)
# 3-3. 777부터 23456까지 555의 배수의 합계
hap = 0
for i in range(777,23457,1) :
if (i%555 != 0) :
pass
else :
hap += i
print(hap)
# 퀴즈4(심화) 2부터 10000까지의 소수를 모두 출력하고 합계내기
# ** 소수란 : 1과 자신을 제외하고 나눠지는 수가 없는 수. 2, 3, 5, 7, 11, 13, 17, 19, ........
hap = 2
print(2, end=',')
for i in range(3, 10001) :
sosuYN = True
for k in range(2,i,1) :
if (i%k == 0) :
sosuYN = False
break
if sosuYN :
print(i,end=',')
hap += i
print()
print("2~10000까지 소수 합 :", hap)
배열 1
# # 리스트
# # 4개짜리 배열 (초기값 0)
# # 1. 배열의 메모리 할당(+초기화)
# #lst1 = [ 0, 0, 0, 0]
# lst1 = []
# for i in range(4) :
# lst1.append(0)
#
# # 2. 배열에 초기값 대입
# num = 1
# for i in range(4) :
# lst1[i] = num
# num += 1
# # lst1[0] = 1
# # lst1[1] = 2
# # lst1[2] = 3
# # lst1[3] = 4
# # 3. 배열 활용
# hap = 0
# for i in range(4) :
# hap += lst1[i]
# #hap = lst1[0] + lst1[1] + lst1[2] + lst1[3]
# # 4. 배열 출력
# print(hap)
# 퀴즈5. 빈 배열 20개를 0으로 초기화 한 후, 20, 18, 16 ..... 을 채운다.
# 그리고 배열의 숫자 중 음수의 합계, 양수의 합계를 따로 구해서 출력한다.
#1
SIZE = 20
ary = []
for _ in range(SIZE) :
ary.append(0)
#2
num = 20
for i in range(SIZE) :
ary[i] = num
num -= 2
#3
hapPlus, hapMinus = 0, 0
for i in range(SIZE) :
if ary[i] >= 0 :
hapPlus += ary[i]
else :
hapMinus += ary[i]
#4
print(hapPlus, hapMinus)
배열 2
# ary2 = [ [1, 2, 3, 4],
# [5, 6, 7, 8],
# [9,10,11,12] ]
#
# print(ary2[2][2])
# ary2 = [] # 2차원 배열
# tmp = [] # 임시 1차원 배열
#
# num = 1
# for i in range(3) : # 행
# tmp = []
# for k in range(4) : # 열
# tmp.append(num)
# num += 1
# ary2.append(tmp)
## 이미지를 읽어서 2차원 배열에 채우기 (가상)
import random
# 1. 파일의 크기를 알아내기
row = random.randint(5,7)
col = random.randint(5,7)
# 2. 메모리 할당
image=[]
tmp=[]
for i in range(row) :
tmp = []
for k in range(col) :
tmp.append(0)
image.append(tmp)
# 3. 파일 --> 메모리
for i in range(row) :
for k in range(col) :
image[i][k] = random.randint(0,255)
# *** 출력하기. ***
for i in range(row) :
for k in range(col) :
print("%3d" % (image[i][k]), end=' ')
print()
# 4-1. 밝게하기 영상처리 알고리즘 적용
for i in range(row) :
for k in range(col) :
if image[i][k]+100 > 255 :
image[i][k] = 255
else :
image[i][k] += 100
# *** 출력하기. ***
print()
for i in range(row) :
for k in range(col) :
print("%3d" % (image[i][k]), end=' ')
print()
** 2일차 ** 복습 퀴즈
-
(1) PC 조립 : 엑셀 시트에 정리 (총 비용 나와야 함)
- 문1. 24시간 촬영 CCTV 데이터 저장용 컴퓨터. 최소의 비용. 캠코더 추가. OS 필요.
- 문2. 딥러닝 데이터 처리용 워크스테이션 급의 컴퓨터. OS 필요. 고해상도 모니터 필요. 비용은 관계없음
-
(2) Python 개발 환경 구축 : 결과 화면 캡처
- 문3. Windows Server 2019 또는 2016 가상머신에 Anaconda + Pycharm 개발환경 구축
Pycharm 헬로월드 출력 화면
- 문3. Windows Server 2019 또는 2016 가상머신에 Anaconda + Pycharm 개발환경 구축
- 퀴즈1. 계산기 완성 : + - * / % **
- 퀴즈2. 점수를 입력받기 (0~100) –> 학점 출력하기 (A, B, .. F)
- 퀴즈3
- 3-1. -3333 ~ +4444까지 합계
- 3-2. 77부터 2345까지 홀수의 합계
- 3-3. 777부터 23456까지 555의 배수의 합계
-
퀴즈4(심화) 2부터 10000까지의 소수를 모두 출력하고 합계내기
** 소수란 : 1과 자신을 제외하고 나눠지는 수가 없는 수. 2, 3, 5, 7, 11, 13, 17, 19, ……..
-
퀴즈5. 빈 배열 20개를 0으로 초기화 한 후, 20, 18, 16 ….. 을 채운다.
그리고 배열의 숫자 중 음수의 합계, 양수의 합계를 따로 구해서 출력한다.
** 2일차 미션 **
미션 1-1. 구구단을 출력한다. 그리고 단의 제목도 쓴다.
2단
2x1 = 2
2x2 = 4
3단
3x1 = 3
9x9 = 81
미션1-2. 구구단을 세로로 출력한다.
2x1=2 3x1=3 …
2x2=4 3x2=6
미션2. 2~10000까지 소수를 모두 배열에 저장한 후, 배열의 합계를 출력한다.
미션3. 랜덤(10~20)한 크기의 NxN 배열(이미지)를 생성하고, 랜덤(0~255)한 값을 채운다. 그리고 다음 요구사항을 처리해서 새 배열로 저장한다.
- 미션 3-1. 이미지에 모두 100을 더한다.
- 미션 3-2. 이미지를 반전한다. 0–> 255, 1 –> 254….
- 미션 3-3. 이미지를 2진화 시킨다. 127 기준 ( 0 과 255만 있는 배열)
- 미션 3-4. 이미지를 2진화 시킨다. 평균값 기준
- 미션 3-5<심화>. 이미지를 2진화 시킨다. 중위수 기준심화>
- 미션 3-6. 이미지를 좌우 미러링 한다.
- 미션 3-7<심화>. 이미지를 2배 축소한다심화>
- 미션 3-8<심화>. 이미지를 2배 확대한다심화>
- 미션 3-9<심화>. 이미지를 90도 회전한다.심화>
- 미션 3-10<심화*2> 이미지를 45도 회전한다.
#