썸네일 python; 위 원과 아래 원 크기가 다른 원기둥(원뿔대) 부피 구하기 (정적분 회전체 체적 활용)y=f(x)를 x축으로 회전시킨 회전체의 체적을 구하는 공식은 다음과 같다. $V_{x}=\pi\int_{a}^{b}\left\{ f(x)\right\}^{2}dx$ 적분을 계산하기위해 sympy 사용. import sympy as sy import math r1 = float(input('원1 반지름:')) r2 = float(input('원2 반지름:')) h = float(input('높이:')) if(r1 >= r2): c1 = r1 c2 = r2 elif(r2 > r1): c1 = r2 c2 = r1 obi = (c2-c1)/h x = sy.Symbol('x') f1 = obi*x+c1 res = (math.pi)*sy.Integral(f1**2, (x, 0, h)).doit() print(res)
썸네일 python; 숫자 계단 응용(n까지 늘어났다 줄어드는 계단) 출력n = int(input("n을 입력하세요:")) for i in range(1, (n*2)+1): if(i
썸네일 python; 엔터('\n') 기준으로 여러개 리스트에 input() 입력 받기def input_list(): num = [] while True: input_data = input() if input_data == "": break else: num.append(int(input_data)) return num # 코드 분석 1) num = [] : 입력받을 리스트 생성 2) while문으로 반복하여 입력받다가 아무것도 입력하지 않았을 때 while문 탈출 3) num.append(int(input_data)) : input_data를 int형으로 변경 후 리스트에 추가 (str로 받을 시에 int() 사용 안 하면 됨.) # 예시 n = input_list() print(n) 입력 3 5 4 1 2 결과 [3, 5, 4, 1, 2]
썸네일 python; 팩토리얼 N! 구하기 및 실행속도 비교 (반복문,재귀,math)1) 반복문 fordef factorial(n): result = 1 for i in range(1, n+1): result *= i return result2) 재귀함수def factorial(n): if n > 1: return n * factorial(n-1) else: return 1​ *RescurisonError: 재귀와 관련된 에러로 파이썬이 정한 최대 재귀 깊이보다 그 깊이가 더 깊어질 때 방생하는 에러. 대체로 최대 재귀 깊이는 1,000으로 기본 설정 되어있다. #해결방법import syssys.setrecursionlimit(10**5)3) math 라이브러리 사용import mathmath.factorial(n) # n..
썸네일 python; 숫자를 자릿수 기준으로 분류(분리)해서 배열 만들기def digitcf(num): return list(map(int, str(num))) #코드분석 1) str(num) : int을 str로 만들어준다. 2) map(int, str(n)) : str형을 각 자릿수를 int형으로 바꿔준다. ( ex, "123" -> 정수 1, 2, 3 각각으로 리턴) 3) list함수로 변환 #예시 digitcf(54321) # [5,4,3,2,1]
썸네일 python; 등차수열 n 번째 항구하기, n1항부터 n2항까지 합 구하기$n$번째 항 구하기 첫 번째 항 $a_1$, 공차 $d$, $n$번째 항 def nthterm_a(a1, d, n): return a1 + (n-1)*d # 코드분석 1) 등차수열: $a_n = a_1 + (n-1)d$ #예시 nthterm_a(1,2,3) # 5 수열 -> 1,3,5,7,9,··· $a_3$ : 5 $n_1$부터 $n_2$까지의 합 ($n_1 1,3,5,7,9,··· $a_2$: 3 , $a_5$: 9 $\frac{(3+9)4}{2}=24$