Python3関連のことを調べてみた

Python3関連のことを調べてみた

Python + Matplotlibを使用して単位円を描画する

## 開発環境
– Python 3.12.1
– Visual Studio Code (Version: 1.85.1)
– matplotlib 3.8.2
– numpy 1.26.2

## コード
“`python
import matplotlib.pyplot as plt
import numpy as np

CIRCLE_LINE_COLOR = ‘#0000FF’ # 円周の線の色
X_AXIS_LINE_COLOR = ‘#000000’ # X軸の線の色
Y_AXIS_LINE_COLOR = ‘#000000’ # Y軸の線の色
GRID_COLOR = ‘#AAAAAA’ # グリッドの色

CIRCLE_LINE_WIDTH = 2 # 円周の線の太さ
X_AXIS_LINE_WIDTH = 0.8 # X軸の線の太さ
Y_AXIS_LINE_WIDTH = 0.8 # Y軸の線の太さ
GRID_LINE_WIDTH = 0.5 # グリッドの線の太さ

FIGURE_SIZE = (6,

元記事を表示

pythonでCPU100%

### シングルプロセス
“`
import multiprocessing
import threading
import sys

def max_cpu_task():
“”” CPUを最大限に活用するための単純な無限ループ “””
while True:
pass

def single_process():
“”” シングルプロセスでCPUを最大限に活用 “””
max_cpu_task()

def multi_process():
“”” マルチプロセスでCPUを最大限に活用 “””
processes = []
for _ in range(multiprocessing.cpu_count()):
p = multiprocessing.Process(target=max_cpu_task)
p.start()
processes.append(p)

for p in processes:
p.join()

def m

元記事を表示

AtCoder Heuristic Contest(AHC)はどんな問題なのだろうと思って初めて解いてみた記録[Python]

[Supership](https://supership.jp/)の名畑です。「[映画「鬼太郎誕生 ゲゲゲの謎」興収が11.5億円を突破!大ヒット御礼で本編冒頭映像が公開](https://animeanime.jp/article/2023/12/12/81781.html)」とのこと。めちゃくちゃ人気のようで本当に嬉しいです。

## はじめに

これまで私の記事で何度も取り上げてきた競技プログラミングのサイト[AtCoder](https://atcoder.jp/)には大きく分けて2種類のコンテストがあります。そのうちの一つがABC、ARC、AGCなどのアルゴリズムコンテストであり、もう一つが**AtCoder Heuristic Contest**(**AHC**)です。

> ABC/ARC/AGCなどのアルゴリズムコンテストと異なり、最適解を出すのが難しい問題に対し、出来るだけ良い解を作成するコンテストとなります。
>
> [AtCoder Heuristic Contest 001](https://atcoder.jp/contests/ahc001)より

今ま

元記事を表示

趣味で書いていっているPythonフロントエンドライブラリの1年の活動をまとめて振り返ってみる(2023年版)

のんびりとした進捗ですが今年も趣味で書いていっている自作のライブラリで対応したことなどの1年の振り返りをしておきます(GitHubのissueで今年1年でClosedになったもをissue番号を絡めて振り返っていこうと思います)。

※去年の振り返り記事 :

https://qiita.com/simonritchie/items/8d135e9350c68174870b

# ライブラリの概要と記事の事前情報

– [apysc](https://github.com/simon-ritchie/apysc)というPythonの簡易のフロントエンド用のライブラリです(ライトで機能の少ないAltJS風味なライブラリと考えていただければと)。
– Pythonで書いてHTMLとjsで出力したり、Jupyter (notebook / Lab)やColaboratory上で表示したり・・・といった制御を行うことができます(VS Code上のJupyterは現在未サポート)。
– 今まではSVG要素がメインでしたが段々とその他の要素も追加していっています。
– 型をしっかりと定義していって

元記事を表示

Pythonの仮想環境どれ使うべきか[初心者]

### 1. はじめに
Pythonの仮想環境管理するために複数の選択ありますよね。conda, Virtualenv, venv, pipenv, poetry…
なぜ使うかと言うと、

– 依存関係の衝突回避:異なるプロジェクト間でのライブラリの衝突を防ぐ
– クリーンな開発環境の確保:必要なパッケージのみをインストールし、環境を整理する
– プロジェクトの再現性向上:他の開発者が同じ環境を簡単にセットアップできる
– デプロイメントの簡素化:開発環境と本番環境の違いを最小限に抑える
– 開発者がプロジェクトの依存関係をより簡単に管理し、コードの品質とプロジェクトの安定性を向上させる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260345/d93cafc8-e94a-9cc2-9405-2cd3ca551a7e.png)

:::note
よくわからない方へ:小難しいことを書きましたが、ローカル環境にいろんなアプリ・プロジェクト作るとライブラリのバージョンとか、よくわからない

元記事を表示

Python Online Compiler for Beginners with Interactive Lessons

Introduction

Welcome to the world of Python coding! In this article, we’ll explore the exciting realm of Python Online Compiler for Beginners with Interactive Lessons. Whether you’re a novice or someone looking to refine your Python skills, this comprehensive guide is your one-stop destination.

![Python Online Compiler for Beginners with Interactive Lessons.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3655293/734f082a-7e3d-7aea-8c94-118190a0bf70.png)

Understanding Python

元記事を表示

EIPの料金改定に向けてお知らせbotを作る

# はじめに
本記事は[アイレット株式会社 新卒 Advent Calendar 2023](https://qiita.com/advent-calendar/2023/iret) の17日目の記事です!

2024年2月1日より、AWSにおけるパブリックIPv4アドレスの料金が改定されることをご存じでしょうか。

https://aws.amazon.com/jp/blogs/aws/new-aws-public-ipv4-address-charge-public-ip-insights/

上記ブログ内の表によると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269896/8b524c2c-7b73-6500-c598-e2d80c0339fe.png)

今まではリソースに対してパブリックIPv4アドレスが割り当てられていれば料金はかかりませんでしたが、2月1日以降は未割当アドレスと同じ料金がかかるように改定されます。

つまり1つのIPアドレスを利用しているだけで
0.00

元記事を表示

【Pythonエンジニア認定基礎試験】と【Pythonエンジニア認定実践試験】合格体験記

2023年7月15日にPythonエンジニア認定基礎試験
2023年12月15日にPythonエンジニア認定実践試験
にどちらも1週間ほどの学習で合格したので当時の学習方法を解説します。

# 結論

基礎試験→ExamApp
実践試験→Youtube,ExamApp,ディープロ模擬試験

で合格可能です。

https://python-basic.com/

https://diver.diveintocode.jp/dive_into_exam/36

# 筆者について

未経験からIT業界に就職し4年目となります。
自分がSEなのかPGなのかわからない一人チームで毎日心をすり減らして働いています。

転職した際に初めて使用したのがPythonであり
当時からなぜかチームに配属されず現場にはいっていきなり一人であることを告げられ、
SESは闇が深いなぁと感慨深い気持ちと焦燥感に追われる中
グーグル先生に頭を下げながら毎日Pythonを学習していました。

現在はPL/SQL

元記事を表示

Python htmlの&_amp;(_を抜いて) の使用例

& シーケンスはよく目にすることがあると、思います。&_amp;は自分自身を&に変えます。&_lt;,&_gt;(<,>)これですよね。これは<>とは区別できます。<>の中に&_lt;と&_gt;は別の物と認識されます。<>この中に書き込めます<>それで、<>はスプリットに使えます。
また、<br>これは知っていますよね。改行記号です。\\n(h0d0a)です。普通に書くと、ファイル内もテキストも改行しますが、<br>にすると、起こりません、ニューラインが。実はとても、便利なんですよ。
あまり使わない&_quot; " これ、非常に面倒なんです。文の中に1個だけ使おうとする時、でも、2個だと、閉じてしまうか、エラーになるんです。接続子がないからです。
とまぁ、便利なのは、分っていただいた所で、これって、勝手に「テンポラリシーケンス」として、作られる、て知っていましたか?
念のため\\nを<br>に変えて、\\nを今後に使えるように、変数を置換します。その後、ファイルに変えるシーケンス(&wl_0;)を中に使ってい

元記事を表示

なでしこ3はPythonより6.5倍速い!ベンチマークしてみました

なでしこの実行速度が話題になっていたので、久々に、手元にあるMacbook Pro(m1)でベンチマークしてみました。なでしこ3のPC版(Node.js版)と各種スクリプト言語を比較してみましょう。

# 再帰処理フィボナッチ勝負

まずはフィボナッチで試してみましょう。

## なでしこ3

なでしこ3.4.24で試してみました。

“`nadesiko:fib.nako3
●FIB(Nの)
  もし、N<2ならばNで戻る。   ((N-1)のFIB)+((N-2)のFIB)で戻る。 ここまで。 (40のFIB)を表示。 ``` 実行してみると、下記のように4秒かかりました。 ``` time cnako3 fib.nako3 102334155 cnako3 fib.nako3 3.94s user 0.05s system 98% cpu 4.078 total ``` ## Python3 次に、Python 3.9.7で試してみます。速度には影響しないものの、タイプヒントも付けてみました。 ```python:fib.py def fib(n:int) -> in

元記事を表示

フィボナッチ数 (paizaランク D 相当)

https://paiza.jp/works/mondai/array_primer/array_primer__fibo

フィボナッチ数列をプログラムで表現する問題。
1番目は0,2番めは1,3番目以降は1番目と2番めの数の和・・・というやつ
そのままプログラミングした

“`py
N = int(input())
ans = 0
num1 = 0
num2 = 0
for i in range(N):
if i + 1 == 1:
ans = 0
num1 = 0
print(ans)
if i + 1 == 2:
ans = 1
num2= 1
print(ans)
if i + 1 > 2:
ans = num1 + num2
print(ans)
num1 = num2
num2 = ans

“`
下手くそなプログラミングだなぁ。。。
答えを見てみた。
配列をうまく使っていた。
なので書

元記事を表示

CuPyの “cannot open source file”

# CuPyのエラー

Windows11
CuDa: 11.7

仮想環境を作り
“`bash
py -m veve venv
“`

“`bash
pip install cupy-cuda11x
“`

“`python
import cupy

A = cupy.arange(9).reshape(3, 3).astype(‘f’)
“`

エラー発生
> CompileException: … : catastrophic error: cannot open source file ” cupy/complex.cuh”

# 解決法
venvのフォルダ名に全角、スペースをいれない(どちらが要因かは未調査)

元記事を表示

Openpyxlのインストール成功した方法 (M2)

はじめまして、ギリギリ大学生のなおぽんです。
Macbook(M2)にOpenpyxlをインストールできない!ってなった時にインストールできた方法を簡易的にまとめました!

## 私の環境
– Macbook Pro (M2)
– Python 3.9.1

## インストールできない!(発狂)ってなったら
[私がぶち当たったエラーと同じエラー](https://levelup.gitconnected.com/fix-attributeerror-module-numpy-has-no-attribute-float-d7d68c5a4971)
上記の記事によると、openpyxlの依存ライブラリにnumpyが関わっていて、そのnumpyのグレードアップに伴いfloatを削除されたそうです。
そんでもって、「numpyのバージョンでfloat型が存在するバージョンにグレードダウンしたら行けるんじゃね?」ということで実行したら行けました!

※`numpy`の`1.20.0`まで私は下げました。

(記事を突然変異で書こうってなったので私のターミナルに表示されていたエラーメッセージなど

元記事を表示

Streamlitで便利なアプリ作ってみた

# はじめに

CIST (公立千歳科学技術大学) Advent Calendar2023、13日目の記事です!!

https://qiita.com/advent-calendar/2023/cist

約半年弱、大学のプロジェクトの関係などもあり[Streamlit](https://streamlit.io/)というPythonライブラリを勉強してきたので、その成果についてまとめてみました。

# Streamlitとは?

**Streamlit**とは、Pythonのライブラリであり、Webアプリケーションを作成するためのフレームワークです。

PythonでWebアプリ開発を行いたい場合、[Flask](https://msiz07-flask-docs-ja.readthedocs.io/ja/latest/index.html)や[Django](https://docs.djangoproject.com/ja/4.1/)といったライブラリが真っ先に挙げられます。
しかし、それらを学ぶには、HTML・CSS・JavaScriptなどのフロントエンドの知識がある

元記事を表示

営業が仕様書作ってみた

# はじめに
私自身が、ベトナムに在住していて、オフショア会社に勤めております。
日本人コミュニティーのイベントに参加した際、ここなんか非効率だなと考えていた際、外付けの機能でなんか色々作れるのではと思いつき仕様書から書いてみました。

# 前提
・現在の実務は主に営業職です。なお、私が勤めている会社の手は、基本的に借りないものとする。
・勉強している言語はPythonとする。
・本来は、各ドキュメントを使うのですが、今回はこちらのサイトで記録します
・つまり自主制作です。もう一度言います自主制作です。

## 仕様書

### 1. 画面仕様
メイン画面
参加者情報の一覧が表示される。
各参加者の支払い記録、残金、通知が確認できる。
参加者情報入力画面
CSVやエクセルからのファイルアップロードボタンがあり、ファイルを選択することで参加者情報を一括で入力できる。
手動での参加者情報入力フォームが表示され、名前、連絡先などが入力できる。
### 2. 機能仕様
参加者情報の一覧表示
参加者情報が表形式で表示され、名前、支払い記録、残金、通知などが見やすく表示される。
支払いの記録
各参

元記事を表示

動けば良いの!?要件定義ミスと揃わないビンゴ

こんにちは!去年は[MIDIキーボードの記事](https://qiita.com/Lundy/items/2c568f17b9df9b9602e0)を書いてました、$Lundy$ です!
一年ぶりの N/S高等学校 Advent Calendar、様々な技術的な記事に圧倒されてそういった記事を書くのは恐れ多いので、
今年は、プログラミングの中でもあまり注目されない**ある作業**をテーマに、体験談ベースの話を書かせていただきます!

この記事は二部構成です。

第一章では、今回の体験談を紹介しています。
プログラミングに関して知識が無くても読めるように工夫したので、専門外の方もぜひ!

第二章では、開発過程を紹介しています。
ビンゴの生成にまつわるオリジナルのアルゴリズムを開発したので、紙とペンで手元でも再現できる手順を紹介しています。こちらもぜひ!

### テーマは「要件定義」
あまり注目されない**ある作業**こそ、今回のテーマ「要件定義」です。
要件定義とは、開発を始める前に、何を作れば良いかを明確にする作業のこと。
この記事では「要件定義」のミスを巡る失敗について体験談ベー

元記事を表示

配列の最大最小 Python3編

https://paiza.jp/works/mondai/array_primer/array_primer__array_minmax

“`py
N = int(input())
A = list(map(int,input().split()))
print(max(A),min(A))

“`
前にもやったことがあるのでわかったが、
他にもNをつかった出力方法がある

“`py
print(A[N-1],A[0])
“`
たしかに!!

つぎに平均を求めてそこから高いやつだけ出力する問題

https://paiza.jp/works/mondai/array_primer/array_primer__array_ave_step3
色々考えたけどオードソックスに。。。

“`py
N = int(input())
A = list(map(int,input().split()))
summary = 0
for i in A:
summary += i

average = summary / N

for i in A:
if i >= av

元記事を表示

それ,numpy で書かない?–4–

## それ,numpy で書かない?–4–

for ループが遅いのに,それを使わざるを得ない選択肢を採っていないかな?

課題:random.random() とか random.uniform() を使うものだから for ループを使わないといけなくなるというジレンマ

https://qiita.com/yamadasuzaku/items/81c9750cf96a844aec38 のモンテカルロ法によるシミュレーション部分は以下のようになっている。

“`python
# 円と長方形の両方に含まれる点の数を数える
overlap_count = 0
for _ in range(num_points):
# 一様な密度で円内の点を生成
angle = random.uniform(0, 2 * math.pi)
r = math.sqrt(random.uniform(0, 1)) * radius
x = r * math.cos(angle)
y = r * ma

元記事を表示

python3のroundは銀行丸め(にハマったのでメモ)

pythonのroundは銀行丸めpythonのroundは銀行丸め
pythonのroundは銀行丸めpythonのroundは銀行丸め
pythonのroundは銀行丸めpythonのroundは銀行丸め

pythonのroundは銀行丸めなんだったら!!
ヨシッ覚えた(たぶん半年後ぐらいにまたハマる)
半日無駄にしたからな、次から同じミスはしない。

pythonとrubyで同じコード書いたはずなに何故か同じ結果にならず調べたら四捨五入するroundの挙動が違っていました。
分かりやすくするために小規模テスト。
“`python3:test.py
test = 0.5000000
for ii in range(10) :
temp = test + ii
print(round(temp),”{:.30f}”.format(temp) )
“`
この実行結果は下記のようにX.5の時に偶数側に丸められます
銀行丸めとかなんか金額の平均計算したり合計したりするときに誤差が少なくなる丸めかたたらしいです
“`実行結果
0 0.500000000

元記事を表示

i 番目の出力 4 Python3編

https://paiza.jp/works/mondai/array_primer/array_primer__string_i-thinput_step4

“`py
N,M,L = map(int,input().split())
A = input().split()
Ans = A[N-1]
print(Ans[L-1])

“`

でも答えを見ると上の最後の二行はもっと短くできて

“`py
print(A[N-1][L-1])
“`

元記事を表示

OTHERカテゴリの最新記事