본문 바로가기

파이썬57

[Python] 파이썬 랜덤(Random) 숫자 생성, 난수 생성 방법 - Random 모듈 프로그램을 작성하다보면 난수, 즉 랜덤 숫자를 생성해야 할 경우가 많다. 랜덤 숫자는 주사위 던지기를 생각해보면 편하다. 주사위를 던져서 숫자가 나오기 전까지 어떤 숫자가 나올지 모른다. 1부터 6까지 숫자가 동일한 확률로 등장하게 된다. 이처럼 랜덤 숫자 역시 다음에 어떤 숫자가 나올지 정해져 있지 않고, 주사위를 던지는 것처럼 랜덤 숫자 생성 함수를 실행해봐야 어떤 숫자가 나올지 알게 된다. 랜덤 숫자를 이용하면 로또 숫자를 뽑는 프로그램이나 제비뽑기 같이 확률상 동등한 선택지 중에 하나를 뽑는 프로그램을 작성할 수 있다. random 모듈 파이썬은 뭔가 랜덤한 어떤 동작을 필요로 하는 경우를 위해서 random 모듈을 제공한다. 랜덤 숫자를 생성하거나 리스트를 랜덤하게 섞는 등의 동작이 random.. 2022. 10. 28.
[Python] 파이썬 sum 함수 사용법 정리 및 예제 파이썬에는 유용한 빌트인 함수들이 많이 있다. 그 중에 가장 쓰임새가 높은 함수 중 하나인 sum() 함수의 사용법에 대해 정리해보고, 예제를 살펴보겠다. sum() 함수 sum() 함수는 Iterable 자료형인 리스트, 튜플, 딕셔너리를 인자로 받아 엘리먼트들의 값을 모두 더해준다. 엘리먼트에 대한 더하기 연산을 진행하기 때문에 숫자가 아닌 다른 타입의 엘리먼트를 가지고 있는 경우라면 TypeError가 발생한다. sum(list) 리스트를 인자로 받는 sum() 함수는 리스트의 모든 값을 더해준다. list = [1, 2, 3, 4, 5] sum_list = sum(list) print(sum_list) # 15 sum(list, start) sum() 함수가 리스트와 함께 숫자를 입력받을 수도 있.. 2022. 10. 25.
[Python] 파이썬 기본 문법 - 조건문 (if, else, elif) 프로그램을 구성하는 가장 기본적인 블럭중에 조건문이 있다. 특정 조건이 만족되면 프로그램의 제어 흐름이 특정 부분으로 분기해서 수행되도록 하는 구문이다. 파이썬에서는 if, elif, else 키워드를 이용해 조건문을 사용할 수 있다. 조건문 우선 조건문이라는 것이 무엇인지부터 정리하고 넘어가자. 파이썬을 비롯한 많은 프로그래밍 언어에서 조건문을 if 라는 키워드를 통해 제공하고 있다. if는 우리말로 "만약에~"라는 의미다. "만약 나에게 10억이 있다면? 스포츠카를 살텐데" 같은 문장을 보면 나에게 10억이 있다는 조건이 만족되면 스포츠카를 산다는 행동이 진행된다. 즉, 10억이라는 조건이 만족되면 스포츠카를 산다는 행동이 실행된다. 이를 프로그래밍 언어의 조건문처럼 표현하면 money = 10억 i.. 2022. 10. 25.
[Python] 산술연산 - 사칙연산, 제곱, 절대값 구하기 파이썬으로 숫자 데이터를 다룰 때, 산술 연산들을 많이 사용한다. 사칙연산 더하기, 빼기, 나누기, 곱하기를 사칙연산이라고 한다. 숫자 데이터를 다룰 때 기본적으로 사용하게 되는 연산이다. 파이썬에서 더하기, 빼기, 나누기, 곱하기는 각각 +, -, /, * 문자를 사용한다. 예를 들어보자. num1 = 3 num2 = 2 print(num1 + num2) # 더하기 print(num1 - num2) # 빼기 print(num1 * num2) # 곱하기 print(num1 / num2) # 나누기 # 5 # 1 # 6 # 1.5 더하기와 빼기는 우리가 흔히 사용하는 문자여서 어렵지는 않는데, 곱하기가 '×' 문자가 아닌 '*' 문자를 사용한다는 점과 나누기 역시 '÷' 문자가 아닌 '/' 문자를 사용한다.. 2022. 10. 23.
[Python] 파일과 디렉터리 생성 및 삭제 방법 파이썬으로 스크립트를 작성하면서 파일 시스템에 접근하는 경우가 많다. 파일 시스템에서 파일과 디렉토리를 생성하거나 삭제하는 방법에 대해 정리해보겠다. 파일 생성 파일을 쓰기모드로 열면, 경로에 해당하는 파일이 없을 때 생성된다. f = open('test.txt', 'w') f.close() 주의할 점은 'w' 모드로 파일을 열게 되면 이미 존재하는 파일의 내용을 덮어쓰게 된다는 점이다. 따라서 다음과 같이 만들어주면 된다. if os.path.isfile('test.txt'): f = open('test.txt', 'w') else: f = open('test.txt', 'a') 디렉토리 생성 디렉토리를 생성하기 위해서는 os 모듈의 mkdir() 함수를 사용하면 된다. os.mkdir('myDir').. 2022. 10. 23.
[Python] 파이썬 파일 입출력(읽기/쓰기) 예제 파이썬으로 파일에 있는 데이터를 읽거나 파일로 데이터를 써야하는 경우가 많다. 이번 포스트에서는 파이썬으로 파일을 열고, 데이터를 읽고 쓰는 방법에 대해 정리해보겠다. 파일열기 - open() 우선 파일에서 데이터를 읽거나 파일로 데이터를 쓰려면 파일을 열어야 한다. 파일을 연다는 것은 파일을 다룰 수 있는 준비를 한다는 의미다. 파이썬에서 파일을 열기 위해서는 open() 함수를 써야 한다. open() 함수는 파이썬의 기본 내장 함수다. open() 함수를 호출 할 때, 옵션에 따라 파일이 없으면 생성하고, 읽기 전용 혹은 쓰기용으로 파일을 열 수 있다. open() 함수의 기본형은 다음과 같다. def open(file, mode='r', buffering=None, encoding=None, er.. 2022. 10. 22.
[PyCharm] PyCharm 프로젝트 생성시 'Failed to create a virtual environment' 에러 윈도우 환경에서 파이참을 설치하고 신규 프로젝트를 생성할 때 'Failed to create a virtual environment' 에러가 발생하는 현상을 만나게 되었다. 프로젝트를 생성하고 프로젝트 루트 디렉토리에 venv를 설정하는 과정에서 에러가 발생하는 것 같다. 문제의 원인을 해결하기 위해 이것저것 찾아봤는데, '관리자권한으로 재시작'하라든지 '파이참 재설치', '파이썬 재설치' 같은 해법들을 적용해봤지만 효과가 없었다. 일단은 OK를 누르고 수동으로 venv를 설정하기로 했다. 터미널을 열고 다음 명령을 실행했다. $ python -m venv venv 그러면 정상적으로 venv가 생성된다. 이후 파이참 프로젝트에서 인터프리터 설정이 안되었다는 경고 메시지가 에디터 상단에 표시되었다. 대충 .. 2022. 10. 18.
[Python] VSCode를 이용한 파이썬 개발환경 설정 파이썬 개발 환경으로 Visual Studio Code를 사용하는 개발자들이 많다. 마이크로소프트에서 제공하는 에디터인 VSCode는 가볍고 빠르면서도 다양한 익스텐션을 지원해 많은 개발자들의 사랑을 받고 있다. 우선 VSCode가 없는 사람이라면 VSCode를 설치하자. [Windows] Visual Studio Code 설치 Visual Studio Code(이하 VSCode)는 Microsoft에서 오픈소스로 개발중인 에디터 소프트웨어다. Microsoft가 무료로 공개한 이래 점점 인기가 많아져 아마도 가장 많은 개발자들이 사용하고 있는 통합 개발환 hbase.tistory.com 그리고 VSCode를 실행하자. VSCode를 실행하고 왼쪽에 있는 메뉴 중 가장 아래에 있는 '확장: 마켓플레이스'.. 2022. 8. 15.
[WSL] pip install 명령이 먹통인 경우 해결 방법 윈도우에서 WSL2 환경으로 파이썬 개발을 하다보면 새로운 모듈을 설치해야할 경우가 있다. 이 때, pip install 명령을 사용하게 되는데 먹통이 되는 경우가 있다. $ pip install requests ^CTraceback (most recent call last): File "/usr/bin/pip", line 11, in load_entry_point('pip==20.0.2', 'console_scripts', 'pip')() File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 73, in main command = create_command(cmd_name, isolated=("--isolated" in cmd_ar.. 2022. 7. 5.