728x90

파이썬(Python) 38

[python 파이썬, anaconda] 가상환경 생성하기, 활성화하기

오늘은 파이썬 가상환경 만들기와 내 컴퓨터에 있는 가상환경의 리스트를 확인하는 방법에 대해 알아보려 한다. - 가상환경(virtual environments)은 왜 필요할까? 파이썬에서는 여러 패키지 및 라이브러리를 설치하여 사용하는데 필요에 따라 패키지 버전을 다르게 사용해야 하는 경우가 있다. 또한 다른 파이썬 버전이 필요할 때도 있다. 이때 독립적인 공간인 가상환경을 따로 생성하여 그 내부에서 필요한 라이브러리를 설치하여 각각 사용하면 된다. - 가상환경 생성하기 가상환경 생성하는 방법은 간단하다. 먼저 시작 프로그램에서 Anaconda Prompt를 실행한 뒤 아래와 같이 양식을 맞추어 코드를 작성한다. conda create -n python= 예를 들어 파이썬 3.7 버전의 py_env1이라는..

[python] warning 숨기기 및 무시하기

파이썬에서 작업 중 오류, error가 아닌 경고, warning이 발생하는 경우가 있다. 이런 경고는 오류와 달리 주의를 주는 것일 뿐 코드는 잘 돌아가므로 말그대로 조심만 하면 될뿐 작업하는 데 별 문제가 되지 않는다. 이때 계속 반복하여 경고문이 발생할 때 이를 숨기는 방법에 대해 알아보자. (특히 AI 학습 시 한 번 warning이 발생하면 episode를 반복할때마다 경고문이 생기므로 학습 결과를 확인하는데 아래처럼 방해가 된다.) warning은 생각보다 간단하게 코드 두 줄로 숨길 수 있다. import warnings warnings.filterwarnings('ignore') warning을 말그대로 ignore 무시하겠다는 코드를 작성하고 똑같은 코드를 수행해보면 아래처럼 경고문이 숨..

[python] tensorflow 설치 오류 해결

저번 글에서 tensorflow.contrib 모듈 오류를 해결하기 위해 tensorflow 버전을 2.2.0에서 1.15.0으로 낮춰주었다. 그리고 import tensorflow as tf를 실행하자마자 새로운 오류를 마주하였다. 다시보아도 아찔한 엄청난 양의 무언가ㅎ 요약하면 TypeError가 발생하였다는 것 같다. TypeError: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate you..

[python] ModuleNotFoundError: No module named 'tensorflow.contrib' 해결 방법

오늘은 tensorflow의 오류 지옥을 탈출하는 방법에 대해 가져왔습니다. 작업 중 다음과 같은 오류를 만났는데요! tensorflow.contrib 모듈이 없다는 오류가 발생하는 이유는 tensorflow의 버전 문제 때문입니다. contrib 모듈은 텐서플로우 ver 2.x는 지원하지 않는 모듈로 텐서플로우 버전을 낮춰주어야 합니다. contrib 모듈은 tensorflow 버전 1.13부터 1.15까지가 사용 가능하므로 tensorflow 2.2.0 버전을 사용하던 저는 먼저 기존에 있던 텐서플로우를 삭제하고 새로 설치해주었습니다. pip uninstall tensorflow pip install tensorflow==1.15.0 이렇게 해서 오류가 해결되면 다행이지만 저는 또 새로운 오류가 발생..

[python 파이썬] 조건문 if문 한 줄로 정리

파이썬에서 조건문은 if 문과 elif 문 혹은 else 문으로 이루어지며 보통은 각각을 한 줄씩 적는다. 예를 들면 아래와 같다. Score = 100 if Score == 100: Grade = 'A' elif Score > 70: Grade = 'B' else: Grade = 'C' print(Grade) ##'A' 하지만 간단한 조건문을 위해 6줄이나 소요해야한다. 이것을 조금 더 간략화하기 위해 콜론 옆에 Grade를 정의해줄 수 있다. Score = 100 if Score == 100: Grade = 'A' elif Score > 70: Grade = 'B' else : Grade = 'C' print(Grade)##'A' 첫 번째 코드보다 두 번째 코드가 더 간략한 걸 확인할 수 있다. 그렇..

[python 파이썬] 코딩테스트 준비 (리스트, 딕셔너리)

리스트 정렬하기 A = ['a','d','b','c','e'] print(sorted(A)) ## 오름차순 abcde print(list(reversed(sorted(A)))) ## 내림차순 edcba print(sorted(A)[::-1]) ## 내림차순 edcba 딕셔너리 A ={0:'병아리', 1:'공룡', 2:'사자', 3:'호랑이'} print(A.keys()) ## dict_keys([0, 1, 2, 3]) print(A.values()) ## dict_values(['병아리', '공룡', '사자', '호랑이']) print(A.items()) ## dict_items([(0, '병아리'), (1, '공룡'), (2, '사자'), (3, '호랑이')])

[python 파이썬] 코딩테스트 준비 (문자열)

코딩테스트를 준비하면서(사실 너무 취미처럼 푼 것이라 준비했다고 하기도 뭐하지만ㅎㅎ) 생각보다 기초적인 지식이 부족한 것을 느꼈다. 그래서 한 번에 볼 수 있게 정리를 하려고 한다! 문자열 1) 문자열 split A = 'ab.c de.f' ## Case 1 --> ['ab.c', 'de.f'] print(A.split(' ')) ## Case 2 --> [['ab','c'],['de','f']] print([A.split(" ")[i].split(".") for i in range(len(A.split(' ')))]) ## Case 3 --> ['ab','c','de','f'] import re print(re.split('[. ]', A)) print(A.replace('.', ' ').split('..

[백준, python 파이썬] 2447번 : 별찍기-10(재귀)

백준 2447번 문제 풀기 https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 문제 설명 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N..

[백준, python 파이썬] 2292번 : 벌집(기본 수학1)

백준 2292번 문제 풀기 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 문제 설명 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지..

[백준, python 파이썬] 1712번 : 손익분기점(기본 수학1)

백준 1712번 문제 풀기 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 문제 설명 문제 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 ..

728x90