728x90
반응형

* 본 포스팅은 주피터 노트북을 이용하였다.

 

* list[0] : 0번째 리스트 값 가져오기* list[:3] : 0~2까지 리스트 값가져오기* list[2:] 2번째 부터 끝까지 리스트 값 가져오기

 

 

list()로 묶으면 알아서 슬라이싱 해준다!

 

문제 ) 문자열을 리스트로 변환하고 그 문자열의 갯수가 몇개인지 알기

str22="대한민국의 국민이 되는 요건은 법률로 정한다. 헌법개정안은 국회가 의결한 후 30일 이내에 국민투표에 붙여 국회의원선거권자 과반수의 투표와 투표자 과반수의 찬성을 얻어야 한다."
list1=list(str22)
len(list1)

 

리스트 안에 for문을 이용하여 값을 생성할 수 있다.

 

list[-2]는 뒤에서 2번째를 의미한다.

 

* append와 extend 

 

a_list가 ['a', 'b', 'c', 'd', 'e', 'f'] 인 상태에서 append와 extend를 사용해보자

 

append를 사용하면 [ ]도 생성되지만 extend는 문자열이 추가되었다.

 

* 중복 제거하기

 

a_list의 값이 [12, 56, 11, 'f', 'r', 't', 'f', 'r', 't'] 일때 중복을 제거해보자

distinct=set(a_list)
print(distinct)

* 해당되는 값 삭제

a_list.remove('c') #해당되는 값 삭제
print(a_list)

 

728x90
반응형
728x90
반응형

abs() : 절대값을 반환

min() : 가장 작은 값 반환

max() : 가장 큰 값 반환

abs(-100) #절대값을 반환 #100

min(100, 100, 10, 7, 1000) #7

max(100, 100, 10, 7, 1000) #1000

def div(a,b=2):
    return a/b
div(4)		#2.0

type

eval("100+200+300") #문자열을 수치값과 연산자로 변환하여 계산(평가/evaluation)
#600

#데이터 타입 알려줌
type(123) 	#int

type('123')	#str

type(123.7) 	#float

type([100,200,300]) #list

728x90
반응형
728x90
반응형

* 본 포스팅은 주피터 노트북을 이용하였다. 파이참으로 실행해 보려면 이렇게

a란 변수를 추가하고 print(a)를 해줘야 볼 수 있을 것이다!

[ 대문자 소문자 변경 함수 ]

'hello'.upper() #'HELLO'

'HELLOW'.lower() #'hellow'

'hello'.capitalize() #'Hello'

 

[ 문자열 나누기(split), 결합하기(join), 세기(count), 교체하기(replace) ]

red = '안녕하세요,홍길동,바보'
result=red.split(',')
result				# ['안녕하세요', '홍길동', '바보']

#배열에 저장된 문자열을 하나의 문자열로 결합
','.join(result)	# '안녕하세요,홍길동,바보'

s1="aaaa"
s1.count('a')		# 4

s1="aaaabbb"
s1.count('b')		# 3

s1='Long Live the King'
s1.replace('King','홍길동')	# 'Long Live the 홍길동'

s2="X:Y:Z"
s2.split(":")	# ['X', 'Y', 'Z']

[ 문자열 format하기 ]

'I like {1} and {0}'.format('Python','java')
# 'I like java and Python'

'I like {} and {}'.format('Python','java')
# 'I like Python and java'

for i in range(2,15,2):
    print('{0:3d} {1:4d} {2:5d}'.format(i,i*i,i*i*i))
#  2    4     8
#  4   16    64
#  6   36   216
#  8   64   512
# 10  100  1000
# 12  144  1728
# 14  196  2744

print('소수점 두자리 {0:3.2f}'.format(3.141592)) #소수점 두자리 3.14

 

[ 문자열 find(찾기), strip(공백제거)하기 ]

'hobby'.find('o')		# 1

'             hello    '.rstrip() #오른쪽 공백제거
# '             hello'

'             hello    '.lstrip() #왼쪽 공백제거
# 'hello    '

'             hello    '.strip() #공백제거
# 'hello'

728x90
반응형
728x90
반응형

* 본 포스팅은 주피터 노트북을 이용하였다. 이 코드로는 파이참에서도 실행이 가능하다.

 

펙토리얼을 구현하는 방법은 크게 반복문을 이용하는 것과 재귀함수를 이용하는 것이 있다.

 

오늘 이 두가지 방법을 구현해 보았다!

 

1. 반복문 이용하기

def factorial1(n):
    fact = 1
    for i in range(1, n+1):
        fact = fact*i
    return fact
n=5    
print('{}! = {}'.format(n,factorial1(5)))

 

2. 재귀함수 이용하기

def factorial2(n):
    if n<=1: # 종료조건
        return 1
    else :
        return n* factorial2(n-1) #n*(n-1)!
n=5
print('{}! = {}'.format(n,factorial2(5)))

728x90
반응형
728x90
반응형

* 본 포스팅은 주피터 노트북을 이용하였다. 이 코드로는 파이참에서도 실행이 가능하다.

 

가변 인자를 가지는 함수에 대해 알아보자

def foo(*args):
    print('인자의 갯수 : ',len(args))
    print('인자들 : ',args)

 

foo(10,20,30)

 

가변 인자를 가지는 함수를 이용한 합계 구하기

def sum_nums(*numbers):
    result=0
    for n in numbers:
        result+=n
    return result
sum_nums(10,20,30) # 60
sum_nums(10,20,30,70,11) #141

728x90
반응형
728x90
반응형

* 주피터 노트북으로 실행하였다!

 

직사각형과 원의 면적을 구하는 함수

def func(shape, width=1, height=1, radius=1):
    if shape==0: # shape값이 0이면 사각형의 면적을 반환
        return width * height
    elif shape ==1: # shape값이 0이면 원의 면적을 반환
        return 3.14 * radius **2

 

 

추가 문제로  shape이 2가 들어오면 근의 공식의 결과를 반환하는 기능도  추가 하였다!

def func(shape, width=1, height=1, radius=1,a=1,b=1,c=1):
    if shape==0: # shape값이 0이면 사각형의 면적을 반환
        return width * height
    elif shape ==1: # shape값이 0이면 원의 면적을 반환
        return 3.14 * radius **2
    elif shape==2:
        r1= (-b + (b**2-4*a*c)**0.5)/(2*a)
        r2 = (-b - (b**2-4*a*c)**0.5)/(2*a)
        print("{} 또는 {} 입니다.".format(r1,r2))

728x90
반응형
728x90
반응형

* 주피터 노트북에서 실행하였다.

 

def get_root(a,b,c):
    r1=(-b +(b**2 - 4*a*c)**0.5)/(2*a)
    r2=(-b -(b**2 - 4*a*c)**0.5)/(2*a)
    return r1,r2
    
result1, result2 = get_root(a=7, b=13, c=6)
print(result1) #-0.8571428571428571

result1, result2 = get_root(a=7, c=6,b=13)
print(result1) #-0.8571428571428571

728x90
반응형
728x90
반응형

1. n의 배수 m개를 반환

def times_input(a,b):
    result=[]
    for i in range(1,b+1):
        result.append(a*i)
    return result
a=int(input("a를 입력하세요."))
b=int(input("b를 입력하세요."))
times_input(a,b)

 

def times_input(a,b):
    if b%3==0: return '3의 배수를 입력하셨어요 다시 입력하세요.'
    result=[]
    for i in range(1,b+1):
        result.append(a*i)
    return result
a=int(input("a를 입력하세요."))
b=int(input("b를 입력하세요."))
times_input(a,b)

while문으로 하면 3의배수를 적기전까지 계속 반복할 것같은데 아직 거기까진 구현하지 않았다!

 

2. n의 배수 m까지 구하기

def math(n,m):
    for i in range(1,m+1):
        if i %n==0:
            print(i)
n=int(input("n을 입력하세요."))
m=int(input("m을 입력하세요."))
math(n,m) 

728x90
반응형
728x90
반응형

# 피타고라스의 정리
밑면의 제곱은 밑변의 제곱 더하기 높이의 제곱
c **2 = a**2 + b**2
높이와 밑면을 파라미터로 받고 그 결과는 빗면의 길이를 반환하는 함수 작성
3,4를 집어 넣으면 5가 되면 로직이 맞음

 

이 코드는 math함수를 쓰지 않고 구현함!

 

def pita(a,b):
    c = (a**2 + b**2)**0.5
    print("높이는{}, 밑면은 {} 이므로 빗면의 길이는 {}입니다.".format(a,b,c))
    
a=float(input("삼각형의 높이를 입력해주세요."))
b=float(input("삼각형의 밑면을 입력해주세요."))
pita(a,b)     

 

728x90
반응형
728x90
반응형
def circle(r):
    pi=3.14
    radius = 2*pi*r
    area = r**2*pi
    print("반지름은 {} 이고 원의 둘레는 {} 원의 넓이는 {} 입니다.".format(r,radius,area))
    

r=float(input("반지름을 입력해주세요."))
circle(r)    

728x90
반응형

+ Recent posts