Python 32

pymysql 활용한 함수 시행착오

보통 작업이 아래와 같은 형태로 진행됩니다. import pymysql con = pymysql.connect (host=host,user =user ,password=pw, db='file') cur = con.cursor() (중략) con.commit() cur.close() con.close() 위를 그대로 활용하여 다음과 같이 2개의 함수를 만든다고 가정해 봅시다. import pymysql con = pymysql.connect (host=host,user =user ,password=pw, db='file') def function1() cur = con.cursor() (중략) con.commit() cur.close() con.close() def function2() cur = con...

[라즈베리파이] talib 설치 및 오류 해결

1. 사전 설정 sudo apt-get update sudo apt install libatlas-base-dev python3.9-dev python3-pip 주의! 위 코드의 python3.9-dev 부분을 python-dev 로 변경하면 파이썬 버전에 맞게 설치된다는 말이 있습니다. 필자의 경우 라즈베리파이의 파이썬 버전이 2.x 로 인식되는 불상사가 있었습니다. python -V로 본인 버전에 맞게 설지하는 것을 추천합니다. 라즈비안 64bit의 경우 3.9였습니다, pip install --upgrade pip pip install --upgrade setuptools 2. ta-lib설치 파일 다운로드 및 압축 해제 wget http://prdownloads.sourceforge.net/ta-..

Speechrecognition flac 에러

사용 환경 : windows anaconda 에러 내용 window Exception: FLAC conversion utility not available - consider installing the FLAC command line application by running `apt-get install flac` or your operating system's equivalent Windows anaconda 해결 방법 1.윈도우에 맞는 파일 다운로드 https://ftp.osuosl.org/pub/xiph/releases/flac/ https://ftp.osuosl.org/pub/xiph/releases/flac/ Oregon State University Open Source Lab Mirrors ..

1065. 한수

문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. 생각 첫번째 함수는 각자리 수를 이용해 수열을 만드는 함수입니다. 두번째 함수는 차이가 같은지 판별하는 함수입니다. 1~99까지는 주어진 수가 한수이고, 그 외의 경우 함수를 사용하여 개수를 출력하도록 했습니다. 코드 import sys def n_split(n): return [int(i) for i in ..

4673. 셀프 넘버

문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라..

4344. 평균은 넘겠지

문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 생각 각 줄에서 첫번째를 따로 저장하고, 나머지로 평균을 구합니다. 그 이후, 평균을 넘는 점수에 대해, 카운트하여 비율을 구합니다. 코드 import sys n = int(sys.stdin.readline()) for i in rang..

8958. OX퀴즈

문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다. 출력 각 테스트 케이스마다 점수를 출력한다. 생각 O가 1개인 경우와 전체가 O인 경우만 따로 계산하도록 했습니다. 코드 import ..

1546. 평균

문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대..

3052. 나머지

문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 생각 받자마자 나머지를 구하고, set()을 활용하여 요소가 곂치지 않게 했습니다. 코드 import sys n_list=[] for i in range(10): n_list.append(int(sys...

5597. 과제 안 내신 분..?

문제 X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오. 입력 입력은 총 28줄로 각 제출자(학생)의 출석번호 n(1 ≤ n ≤ 30)가 한 줄에 하나씩 주어진다. 출석번호에 중복은 없다. 출력 출력은 2줄이다. 1번째 줄엔 제출하지 않은 학생의 출석번호 중 가장 작은 것을 출력하고, 2번째 줄에선 그 다음 출석번호를 출력한다. 생각 1~30까지의 리스트를 만든 뒤, 받자마자 제거하는 방식을 취했습니다. 코드 import sys num = [i for i in range(1,31)] fo..