python) 마크다운, 자료형, 연산자, 형변환, 제어문, 모듈, 튜플, 예외처리,Sliceing (feat. jupyter notebook)

 

 

 

In [ ]:
print("hello python")
#여기는 주석
In [ ]:
kbd=input()
print("입
 

여기는 마크다운

여기는 마크다운 2

  • 첫번째 항목
  • 두번째 항목
  • 세번째 항목
  • 마크다운 형식은 html문법을 포함한다
In [ ]:
#<esc> <b> 새로운 셀
#<esc> <dd> 셀 삭제
#<esc> <a> 셀위에 새로운 셀 생성
#<ctrl> <enter> 셀 실행
#<shift> <endter> 셀을 실행하고 새로운 셀을 생성한다
#<esc> <m> 마크다운마크다운
#<enter> 편집
#kernel -> Restart & Clear output 실행결과를 지움
In [ ]:
# 정수 실수, 문자열, 불리언
# 정수
a = 20
print(a)

# 실수
f  = 3.14
print(f)

# 문자열
str = "String"
print(str)
str = 'this is Stirng'
print(str)
str = """Also this is String"""
print(str)
#''escape 됨 \필요가 없다!
str = "The character 'A' is the first"
print(str)
str = 'Hello "Smith"'
print (str)
str = '''First
Second
Third'''
print(str)

#boolean
b = True
print(b)
b = False
print(b)
print(True and False)
True or False
#주피터 노트북에서 마지막 표현식은 자동으로 print 된다 
#허수 계산
a = 3+4j
b = 5+2j
a+b
In [ ]:
userName = "Smith"
print(userName)
user_name = "Andy"
print(user_name)
In [ ]:
# 산술연산자(Arithmetic Operators)
# +, -, *, /, %, **(제곱), //(정수 몫)
2/3
2//3
2*3
2**3
a = 0
#a++
#증감 연산자가 없다
a+=1
print(a)
In [ ]:
#a=10
#print("입력값은"+ a +"입니다")
a=10
print("입력값은",a,"입니다")
In [ ]:
a=10
print("a=",a)
print("a="+ str(a)+"입니다")
c= "a"+"b"
print(c)

a=1
str = f'a={a}'
print(str)
#f printf
 

str(10)

s =100 s2 = "a "+ str(s) + " b" s2

print(s2)

In [ ]:
# 비교 연산자 (Comparison Operators)
# <, >, <=, >=, ==, !=, is(객체의 동일성), is not, not

# 논리 연산자(Logical Operators)
# or, and, not
In [ ]:
a=5
b=4
a>b
a!=b
'a'=='a'
In [ ]:
b1 = True
b2 = False

b1 or b2
b1 = not b2
b1
In [ ]:
True & False #and
True | False #or
not False
In [ ]:
a = 10;
type(a)
In [ ]:
a = input("숫자 입력")

res = f'입력된 숫자는 {a}입니다'
print(res)
In [ ]:
# 문자열 변환 str(3), 정수변환 int('3')
a= input('숫자 입력(1):')
b= input('숫자 입력(2):')
# a+b=xx
print(str(a),"더하기",str(b),"는 ",int(a)+int(b),'입니다')
res = f'{a}+{b} = {int(a)+int(b)}'
print(res)
In [ ]:
# 실수끼리 뺄샘해보세요 (키보드 입력)
a=input('첫번째 숫자:')
b=input('두번째 숫자:')
res = f'{a}-{b} = {float(a)-float(b)}'
print(res)
In [ ]:
#제어문
if True != False:
    print('참')
In [ ]:
#if 들여쓰기 주의
if False:
    print('참')
    print('블럭')
print('블럭외부')
In [ ]:
#pass
#break 는 동일
if 1<2:
    pass
elif 2<3: #else if ()
    pass
else:
    pass
In [ ]:
#for
nums = [2,4,6,8]
for n in nums:
    print(n)
In [ ]:
#while
while 1<2 :
    print ("블럭")
In [ ]:
#모듈
a = -5
print(a)
abs(a)
max(1,2,3)
round(2.11828)
#제곱근 구하기
import math # math 모듈을 사용, math.py
math.sqrt(9)
import math as m
m.sqrt(49)
In [ ]:
m.sin(90)
# 180[deg] = pi[rad]
# 1[deg]=pi/180[rad]
# 90[deg] = 90*pi/180[rad]
rad=90*m.pi/180
m.sin(rad)
m.sin(m.pi/2)
#cos 45?
rad=45*m.pi/180
m.cos(rad)
In [ ]:
n=5
s=f'abc {n}'
print(s)
In [ ]:
#함수 선언부
def test():
    print('함수')
In [ ]:
test()
test()
In [ ]:
def add(a,b):
    c=a+b
    print(c)
    return a+b
In [ ]:
c =add(3,5)
print('결과:',c)
In [ ]:
m.pow(2,3)
2**3
In [ ]:
# 피타고라스의 정리: a^2 = b^2 + c^2
# 직각삼각형의 밑변과 높이를 받아서 사변의 길이를 구하는 함수작성
# pt(3,4) --> 5
def hyp_len(base,height):
    return m.sqrt(base**2 + height**2)
In [ ]:
hyp_len(3,4)
In [ ]:
def tuple_ret():
    return 3, 5, 7 # tuple 이라는 컬렉션에 담겨서 리턴
In [ ]:
tuple_ret()
In [ ]:
a,b,c = tuple_ret()
print(a,b,c)
In [ ]:
# 섭씨온도를 화씨 온도로 변환해주는 함수를 작성하고 키보드에서 
# 섭씨온도를 입력하여 화씨온도로 변환하여 화면에 표시해보세요

def C2F(C):
    return 1.8*C+32

kbd=input("변환할 섭씨를 입력하세요")
C = float(kbd)
res=f'섭씨{kbd}도는 화씨{C2F(C)}도입니다'
print(res)
In [ ]:
a=100
In [ ]:
def test(b,c):
    #a=7
    print(a,c)
    
test(1,2)
In [3]:
#키보드에서 성적 0-100이 입력되면 60~69 :D
def credit(num):
    if num<70:
        res ="D"
    elif num<80:
        res ="C"
    elif num<90:
        res ="B"
    elif num<=100:
        res="A"
    else:
        res="F"
    return res
In [4]:
score=credit(93)
print(score)
 
A
In [13]:
import random as r
r.randrange(0,5) #5는 비포함! 0~4
Out[13]:
0
In [24]:
#무작위 숫자(0~20)를 선정하여 이용자에게 스 숫자를 맞추도록
#키보드 입력을 받아서 '정답보다 크다/적다' 형식의 도움말을 제공
#하여 결국 이용자가 그 숫자를 맞추기까지 걸리는 총 횟수를 화면에
#표시라는 기능을 작성해보세요
rd=r.randrange(0,21)
cnt=0 #초기화해주지않으면 전에 메소드 실행한 겂이 그대로 불러와진다.
while True:
    kbd=input("0~20 까지의 렌덤숫자 입니다 무엇일까요?")
    inputNum = int(kbd)
    cnt+=1
    if  inputNum>rd:
        print("숫자가 큽니다")
    elif inputNum<rd:
        print("숫자가 작습니다")
    else:
        msg=f'{kbd} 정답입니다 {cnt}번 걸리셨네요^^'
        print(msg)
        break
 
3
0~20 까지의 렌덤숫자 입니다 무엇일까요?3
3 정답입니다 1번 걸리셨네요^^
In [ ]:
try:
    pass
except:
    pass
else:
    pass #에러가 안났을때 들어가는 로직 거의 쓰지 않는다.
In [50]:
### 키보드에서 2개의 숫자를 받아서 a/b 계산 실행, 그 결과식 출력
# 출력예시> 3/2 - 1.xxx
try:
    input1 = float(input('첫번째 숫자'))
    input2 = float(input('두번째 숫자'))
    res=f'{input1}나누기{input2}는 {input1/input2}입니다'
except ValueError as ve:
    print('숫자만 입력할수 있어요^^;___',ve)
except ZeroDivisionError as ze:
    print('0으로 나눌수 없어요. (불능)___',ze)
else: 
    print(res)
print("프로그램 종료")
 
첫번째 숫자3
두번째 숫자0
0으로 나눌수 없어요. (불능)___ float division by zero
프로그램 종료
In [52]:
s="Hello World"
print(s)
len(s)
s="A" + "B"
s
 
Hello World
Out[52]:
'AB'
In [60]:
data ="abcdefghijklmnopqrstuvwxyz"
"de"in data
"de"not in data
data*2
2*data
data[0]
data[0:3]   # Slicing
data[0:2]
data[0:6:2] # Step
Out[60]:
'ace'
 
 
Comment