설치 1강 2강 3강 4강 5강 6강 7강

2강

Jupyter Notebook에 대하여

  • 명령모드
    • Esc 로 진입
    • Shift-enter (cell 실행 및 아래 cell 선택)
    • m (markdown 타입으로 변환)
    • y (code 타입으로 변환)
    • a (위에 셀추가)
    • b (아래 셀추가)
    • dd (셀 삭제)
  • 편집모드
    • Enter로 진입
    • tab : 코드 자동완성 , 들여쓰기
    • ctrl / : 주석 설정 및 해제
  • 주피터 끄는 법
    • File-Close and halt
    • 또는 Running에서 Shutdown
    • 그냥 웹브우저를 꺼버리는 것도...
  • 장점
    • 수학적으로 필요한 많은 패키지가 설치되어 있음.
    • 코드와 결과를 함께 저장함.(공부하기에 좋음- REPL실행방식)
    • 편집모드로 필요한 글을 마크다운 형식으로 작성할 수 있음.
    • 여러가지 파일 형식(.py, .html .tex .pdf .ipynb .rst .md)로 저장 가능함.
    • 마크다운 문법으로 작성가능

오늘은 마크다운 문법을 조금 써서 내용을 기록해봅시다.


In [1]:
!pwd #현재위치
/c/Users/BORAM/Dropbox/programing/withpython/python_class_2018_ 2_special_edu
pwd: ignoring non-option arguments

조건문, 반복문

if 조건문

In [1]:
# if 조건1:
#    조건1이 참일때 실행코드
In [3]:
if 1>0 :
    print("참이다")
if 1 :
    print("1은 참이다.")
if 0 :
    print("0은 참이다.")
참이다
1은 참이다.
In [ ]:
 
In [4]:
# if 조건1:
#    조건1이 참일때 실행코드
# else:
    #기타의 경우 실행 코드
In [5]:
if True:
    print("참이다.")
else:
    print("거짓이다.")
참이다.
In [9]:
int(1.9) # 버림하여 정수로 바꿔주는 함수
Out[9]:
1
In [1]:
# if 조건1:
#    조건1이 참일때 실행코드
# elif 조건2:
#     조건1이 거짓이고 조건2가 참일때 실행.
# elif 조건3:
#     조건1, 조건2가 거짓이고 조건3이 참일때 실행
# else :
#     위의 모든 조건이 거짓일 때 실행
    

다음 두 코드를 비교해보자. 결과를 예상해보자

In [11]:
number =int(input('숫자:')) #number라는 변수에 사용자가 입력한 숫자가 정수로 변환되어 들어간다.
숫자:6
In [10]:
if number >0 :
    print("{}는 양수".format(number))
elif number <0 :
    print("{}는 음수".format(number))
else:
    print("{}는 영".format(number))
5는 양수
In [18]:
if number >0 :
    print("{}는 양수".format(number))
if number <0 :
    print("{}는 음수".format(number))
else:
    print("{}는 영".format(number))
5는 양수
5는 영

for 반복문

In [2]:
# for 변수 in 리스트(또는 튜플, 셋 등 -순회가능한 객체들):
#     실행코드
In [21]:
# 1번 반복문
for i in [0,1,2,3,4]:
    print(i) 
0
1
2
3
4
In [22]:
# 2번 반복문
for i in range(5):
    print(i) 
0
1
2
3
4
  • range(n) : 0이상 n미만의 정수의 리스트라고 생각하면 됨.
  • 1번 반복문은 리스트를 미리 만들고 시작하는 반면, 2번 반복문은 필요할때마다 하나씩 꺼내 쓴다. 즉, 시간이나 메모리 절약 측면에서는 2가 좋다.

break는 반복문을 종료

In [23]:
# 다음 결과가 어떻게 될지 예상해보자.
for i in range(20):
    print(i)
    if i>10:
        break
0
1
2
3
4
5
6
7
8
9
10
11
In [24]:
for i in range(2,10):
    for j in range(1,10):
        print(i,j)
        break
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
In [4]:
range(10)
Out[4]:
range(0, 10)
In [26]:
list(range(10))
Out[26]:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [27]:
list(range(1,10))
Out[27]:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
In [28]:
list(range(1,10,3))
Out[28]:
[1, 4, 7]
In [29]:
tuple(range(10))
Out[29]:
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

반복문 : while

  • 조건이 만족되는 동안 반목문 수행
  • 반복횟수가 정해져 있지 않거나 중요치 않고, 특별한 조건하에서만 수행할 때 사용

while 판단문: 실행구문 break

  • 판단문이 참일동안 실행함. 거짓이면 바로 멈추고 다음 볼록으로 넘어감
  • 실행중이라 하더라도 break구문을 만나면 멈춤
In [1]:
i=1
while i<30:
    print(i)
    if i>10:
        break
    i+=1 #i=i+1
1
2
3
4
5
6
7
8
9
10
11

무한루프를 조심!

과제 1

  1. 사용자에게 2부터 9까지 자연수를 입력받아서 그에 해당하는 구구단을 출력하는 코드를 작성하세요.
    • 단, 2부터 9까지 자연수 외의 다른 숫자를 넣으면 "해당없음"이라는 문자가 출력되도록 작성하세요.
    • 숫자외에 다른 문자열은 입력하지 않는다고 가정합니다.
  • nextSqaure함수는 정수 n을 매개변수로 입력받습니다. n이 임의의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 임의의 정수 x의 제곱이 아니라면 'no'을 리턴하는 함수를 완성하세요.예를들어 n이 121이라면 이는 정수 11의 제곱이므로 (11+1)의 제곱인 144를 리턴하고, 3이라면 'no'을 리턴하면 됩니다.
In [1]:
def nextSqure(n):
    # 함수를 완성하세요
    result=0
    return result
In [3]:
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print("결과 : {}".format(nextSqure(121)));
결과 : 
In [ ]:
 

blog comments powered by Disqus