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
반응형
728x90
반응형

간단하게 구현을 해보면

a=1
b=2
c=-8
r1= (-b + (b**2-4*a*c)**0.5)/(2*a)
r2 = (-b - (b**2-4*a*c)**0.5)/(2*a)
print('해는 : ',r1, '또는 ',r2)

이걸 기반으로 근의 공식 함수를 만들어 보았다.

 

def root_calc(a,b,c):
    D = (b**2) - (4*a*c)
    if D>0:
        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))
    elif D==0:
        x = -b / 2*a
        print("중근입니다. 해는 {}입니다.". format(x))
    else:
        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))
        
a=int(input("a를 입력해주세요."))
b=int(input("b를 입력해주세요."))
c=int(input("c를 입력해주세요."))
root_calc(a,b,c)   

허근은 안될줄 알았는데 파이썬에서 제공이 가능하나보다!

 

허근일 때

728x90
반응형
728x90
반응형

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

 

import numpy as np
import pandas as pd
def print_star():
    print("==========")
print_star()
print_star()

함수를 호출하면 저장된 값이 반환된다.

def print_plus():
    print("++++++++++++")
print_star()
print_plus()
print_plus()
print_star()

def sum(a,b):
    return a+b
sum(7,6)

 

문제

1) 함수 호출을 하는데 파라미터로 숫자를 받고 그 숫자만큼 반복해서 출력하기

def star(n):
    for i in range(n):
        for j in range(i+1):
            print("*",end="")
        print('')
        

2. input으로 2개의 값을 받아서 정수로 변환하고 그 값을 함수 호출시 전달

def sum1(x,y):
    print(x+y)


x = int(input("정수 입력하세요"))
y = int(input("정수 입력하세요"))
sum1(x,y)

728x90
반응형
728x90
반응형

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

 

1. while 문을 이용하여 총합계 구하기

arr = [1,2,3,3,7,9,23]
sum=0
i=0
while i < len(arr):
    sum = sum +arr[i]
    i += 1
print(sum)

 

2. list comprehension(리스트 내포)

[출력표현식 for 요소 in 입력Sequence [if 조건식]]

예제를 풀어보자

arr = [1,2,3,3,7,9,23,100,4,12,7]
arr1=[i*i for i in arr] #list comprehension
print(arr1)


이번에는 기존의 list 예제와 list comprehension을 비교해보자

문제는 arr 리스트 안에 짝수만 새로운 리스트(arr1)에 넣는 것이다.

 

기존 list

arr = [1,2,3,3,7,9,23,100,4,12,7]
arr1=[]
sum=0
i=0
while i < len(arr):
    if arr[i]%2==0:
        arr1.append(arr[i])
    i += 1
print(arr1) #[2, 100, 4, 12]

list comprehension

arr = [1,2,3,3,7,9,23,100,4,12,7]
arr2 = [i for i in arr if i%2==0]
print(arr2)

 

 

728x90
반응형
728x90
반응형

시작하기 앞서 주피터 노트북을 기반으로 진행하였고 여기있는 코드들은 파이참에 해도 무관하다

 

1. 모음일 경우 반복문을 종료

st = 'Programming'
for ch in st:
    if ch in ['a','e','o','u']:
        break;
    print(ch)
print('종료')

 

2. 문자열의 모음의 갯수를 구하기

## 문자열의 모음의 갯수를 구하기
st = 'Programmuroing'
cnt=0
for ch in st:
    if ch in ['a','e','o','u']:
        cnt=cnt+1
print('모음의 갯수는 ',cnt)

728x90
반응형
728x90
반응형

주피터 노트북을 기반으로 진행하였다.

 

데이터 가져오는 것을 하기 위해 MySQL에 가서 기존에 만들어 놓았던 아무 파일을 불러온 뒤

 

select * from (테이블명);

빨간 동그라미 친 곳을 눌러 원하는 경로에 MySQL 데이터를 csv 형식으로 저장한다!

 

 

나는 board.csv로 저장하였고 파일이 잘 저장 되었는지 확인한다.

 

이 파일을 python에서 열어보자

import pandas as pd
result=pd.read_csv('C:\\pythonprj\\board.csv') #한글있으면 ,encoding='euc-kr' 추가!
result

 

이것으로 Python에서 MySQL데이터를 가져오는 것은 끝났다. 

 

이 데이터들을 처리해 볼 것이다.

 

1) slice

result['title'].str.slice(0,2)

 

2) 데이터 편집

result['content']=result['content'].str.slice(0,3) # 데이터 편집
result.to_csv('result.csv') #자른거 데이터 붙이기
print(result)

 

728x90
반응형
728x90
반응형

pandas에서 csv 파일을 생성하기 전에 numpy와 matplotlib 예제 하나씩 소개하고 시작할 것이다.

 

더보기

pip install numpy -> 수치 해석 도구 , numpy는 c언어로 만들어진 수치해석 tool

pip install pandas -> 엑셀처럼 데이터 다루기, pandas는 numpy로 만들어진 tool

pip install matplotlib -> 도표 그리기

 

1. numpy

import numpy as np

a1=[[1,2,3],[4,5,6]]
b1=[[11,12,13],[14,15,16]]

na1 = np.array(a1)
nb1 = np.array(b1)
result= na1+nb1

print(result)
print(result.T)

2. matplotlib 

import matplotlib.pyplot as plt
import numpy as np

# Data for plotting
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)

fig, ax = plt.subplots()
ax.plot(t, s)

ax.set(xlabel='time (s)', ylabel='voltage (mV)',
       title='About as simple as it gets, folks')
ax.grid()

fig.savefig("test.png")
plt.show()

 

3. pandas

import pandas as pd
d = {'col1':[1,2], 'col2':[3,4]}
df = pd.DataFrame(data=d)
print(df)

생성된 표를 엑셀 파일로 만들기

df.to_csv('1.csv') #엑셀 파일로 만들어줌 ,한글깨짐, 자동으로 사용자계정에저장
df.to_csv('C:\\pythonprj\\1.csv',encoding='euc-kr') #경로지정과 한글개짐 방지

위 코드 중 하나를 적용하면 (한글문서가 있는 경우 아래 코드를 추천) 지정경로에 만들어진 엑셀 파일을 확인할 수 있따.

 

여기까지 해서 pandas로 csv파일을 생성하는 것까지 했고 다음 내용은 MySQL 데이터 가져오는것을 할 것이다!

728x90
반응형
728x90
반응형

나는 주피터 노트북에서 실행했지만 이 코드들은 파이썬이라 파이참에서도 사용가능하다. 

 

1. while을 이용한 리스트 예제

selected=None
while selected not in ['가위', '바위','보']:
    selected = input("가위 바위 보 중에서 선택하세요.")
print('선택한 값은 : ',selected)

 

2. 리스트 나열하기

a=[1,2,3]
b=[4,5,6]
print(a+b)

리스트 나열

 

3. 2개의 리스트 요소간 합

a=[1,2,3]
b=[4,5,6] 을 이용하여 [5,7,9]가 나오게 하자

방법이 3가지가 있다.

 

1) for문 이용

a=[1,2,3]
b=[4,5,6]
j=0
sum=[]
for i in a:
	j += b[j]
	j+=1
    sum.append(i)
print(sum) #[5, 7, 9]

2) zip() 사용

a=[1,2,3]
b=[4,5,6]
c= [i+j for i,j in zip(a,b)]
print(c) #[5, 7, 9]

3) index 사용

a=[1,2,3]
b=[4,5,6]
c= [a[i] + b[i] for i in range(len(a))]
print(c) #[5, 7, 9]

 

for문 이용
2)  zip() 사용                                                                                     3) index 사용

 

728x90
반응형

+ Recent posts