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

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

【paiza】残り物の量 (paizaランクC相当) 課題…Python4行で解説

# 本投稿の趣旨

以下の問題をpythonでコーディングの解説を行います。

https://paiza.jp/works/mondai/c_rank_skillcheck_archive/leftover

:::note
問題

あなたはスーパーマーケットを経営しています。
今、ある生鮮食品を m[kg] 仕入れました。
とても新鮮だったため、生のまま販売したところ、
m[kg] のうち p[%] を売ることができました。
次にその売れ残りをすべてお惣菜にして販売したところ、
売れ残った量のうち q[%] が売れました
さて、m[kg] 仕入れたこの食品は最終的に何kg 売れ残ったでしょうか。
ただし、生鮮食品をお総菜にする際は、量を変えることなく調理できるものとします。

:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3780099/146ec4e4-064a-52cb-f9ce-ff264a8b737c.png)

# コードの要点
1. 3つの整数m,p,qを

元記事を表示

ストレス発散。うちまくりの弾幕シューティングゲーム。

![スクリーンショット 2024-08-09 155351.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/53a891ab-b55d-cf26-389b-5bf139c328d9.png)

![スクリーンショット 2024-08-09 155555.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/8c2f8899-e296-da94-7de3-61b2c7bb0a12.png)

#### スペースキーが押されている間、弾を連射します。カーソル左右で射撃角度調整です。移動はしません。

“`python
import http.server
import socketserver
import tempfile
import webbrowser

# HTMLとJavaScriptのコード
html_content = “””

元記事を表示

ryeでNotebookを実行できない問題の解決法

## 問題発生状況

私はryeでパッケージを管理している。普段.pyは問題なく実行できているためpathは正しく通っているはずだが、.ipynbのセルを実行しようとした際に、
“`
Running cells with ‘.venv (Python 3.12.3)’ requires the ipykernel and pip package.
“`
と表示されてしまう。

## 解決法
“`
$ rye add ipykernel
$ rye sync
“`
でおk。

元記事を表示

fletのFilePickerの基本を今度こそ理解する

## 概要
fletのFilePickerで毎回つまづくので記事作成しました。

よく読めばドキュメントに書いてあるような気もするのですが、読解力なさすぎでよくわかりませんでした。

https://flet.dev/docs/controls/filepicker/

https://flet.dev/docs/reference/types/filepickerfile/

## ファイルパスとファイル名はどこに格納されているのか?
ドキュメントを参考にprint文で値を出力していきます(原始的)

example01.pyと同一のディレクトリに「aaa.txt」「bbb.txt」があり、この2つのファイルを開いてテストします。

print文の部分が結論です。
e.filesの中に配列として各ファイルの情報が格納されており、最初(1番目)のファイル名はe.files[0].nameで、パスはe.files[0].pathのように値を取得します。

最初(2番目)のファイル名はe.files[1].nameで、パスはe.files[1].pathのように値を取得します。

al

元記事を表示

Vscodeとgpt-4oAPIを連携してみる

# はじめに
株式会社TechoesインフラチームのTです!
今回は、前回に引き続きChatGPTAPIを利用した記事を投稿したいと思います。
前回の記事は下記にリンクを貼っておくので合わせて読んでいただく幸いです。
[gpt-4oAPIを利用してアーキテクチャ図からCFNテンプレートを生成してみる](https://qiita.com/y-tomaru-techoes/items/4988aaae1527a033faa2)

:::note warn
注意
ChatGPT APIの料金、APIKeyの発行については前回の記事で解説済みのため今回の記事では省略します。
また、生成される内容は必ずしも正しいとは限らないのであくまで補完ツールとして利用しましょう。
:::
# 経緯
自分は業務上でコードレビューを目的としてChatGPTを使用することがあります。
しかし、使用するたびにブラウザからChatGPTのページにアクセスして質問するのが少々手間だと感じていました。そこで、前回書いた記事でAPIKeyを発行したのでvscodeとの連携ができないかと思い今回の記事を書くことにしました。

元記事を表示

Baslerカメラを使った画像取得方法: PyPylonの活用

## Baslerカメラを使った画像取得方法: PyPylonの活用

### 1. はじめに

この記事は、以下の記事の内容を再構成したものです。

https://pythonforthelab.com/blog/getting-started-with-basler-cameras/

Baslerは、高品質なカメラを提供することで知られるメーカーであり、その製品は顕微鏡画像取得やコンピュータビジョン、監視カメラ用途など幅広い領域で使用されています。これらのカメラは、強力なソフトウェア開発キット(SDK)であるPylonと共に提供され、開発者がカメラを容易に統合し、カスタマイズできるよう設計されています。

特にPythonユーザーにとって、BaslerはPyPylonというPythonバインディングを提供しています。これは、Pylon SDKのPythonラッパーであり、Python環境でBaslerカメラを操作するための便利なツールです。本記事では、PyPylonを使用してBaslerカメラから画像を取得する方法を詳しく説明します。

![image.png](http

元記事を表示

Python コンパイラを作ろう : コンパイラ基礎講座第一回 (理論編 1)

## まえがき
この記事は投稿者(NokonoKotlin)の個人サイトの記事から Qiita 用に移植 & 加筆したものです。
(この文言は記事が剽窃でないことを周知するためのものであり、個人サイトの宣伝ではないことをあらかじめご了承ください。)

## はじめに
みなさんはスマブラの勉強をしてゲーム制作の勉強ができると思いますか?

プログラミング学習といえば文法やライブラリの学習を想像されるかもしれません。これはその通りなのですが、プログラミングをさらに理解するためには、プログラムが動く裏側で何が起こっているのかを知る必要があります。

### インタープリタ
みなさん Python はよくご存知のことだと思いますが、今一度 Python が何かを考えてみませんか。ご存知の通り、Python はプログラミング言語であり、インタープリタを介して Python 文を機械語に変換してプログラムを実行します。

処理をインタープリタに任せるプログラミング言語をスクリプト言語と呼びます。Python のようなスクリプト言語はプログラム実行中にリアルタイム

venv仮想環境作成時にpip/setuptoolsを最新にする方法

# コマンドの概要

Python環境では、pipを使ってモジュール・ライブラリーをインストールすることができるが、そのままpipを実行するとシステム全体に反映されてしまう。そのため、プロジェクト毎や用途毎に独立した環境を用意し、必要なPythonライブラリをそれぞれで管理するためのvenv仮想環境を作成する機能が、Python 3.3から導入された。削除したい時も、仮想環境のフォルダを丸ごと削除するだけで良いので管理が楽である。

“`txt:単にvenv仮想環境を作成する。
python3 -m venv [newenvname]
“`

しかし、Python3.9からは、–upgrade-depsというオプションが追加されており、このオプションをつけて仮想環境を作成すると、pip/setuptoolsが最新化された状態で仮想環境が作成される。

“`txt:venv仮想環境作成時にpip/setuptoolsを最新化する
python3 -m venv –upgrade-deps [newenvname]
“`

参考docs
https://docs.python.

定義したスキーマ通りのAPIレスポンスは安心できる

# 概要
先日、OpenAIからStructured Outputsに関する機能がリリースされた、といった情報がありました。
早速それを確認して、ざっくり記事にしました。

https://qiita.com/eno49conan/items/5d7e8dfc3849880cb893

この記事では、**どういったところが開発上ありがたいのか**、具体例(英単語の学習をするケース)を交えながら改めて考えてました。

## 私なりの結論
**出力(APIのレスポンス)ブレを心配しなくていい**のが、一番ありがたいと感じました。
言い換えになるかもしれませんが、**レスポンスの構造が実行前からわかる**ということです。

chatGPTなどで実感されている方は多いと思いますが、
Prompt次第で、レスポンスの文章構成やフォーマットが変わってしまうと、どういうPromptにすれば臨んだ回答になるのか、試行錯誤が必要です。
この作業は大変ですし、不安定な出力になると実用的ではなくなる場合もありそうです。

(と書きましたが、`gpt-4o`あたりから、それほど指示しなくても整形して出力といっ

OpenAIのAPIレスポンスに自作スキーマを設定できるようになった!

# 概要
openAIのAPI、ここ数カ月で色々変わってきていますね。
モデル`gpt-4o`が登場しておよそ3ヶ月。
モデル`gpt-4o-mini`が登場してからおよそ1カ月。
そして、モデル`gpt-4o-2024-08-06`が先日リリースされました。

またこのモデルが登場したことと合わせて、
[2024.08.06のリリース(v1.40.0)](https://github.com/openai/openai-python/releases/tag/v1.40.0)で、APIの機能として**Structured Outputs**がリリースされました。

https://openai.com/index/introducing-structured-outputs-in-the-api/

この記事では、**Structured Outputs**について、理解を進めていきます。

具体的な話を交えた記事も公開しましたので、併せてご覧ください!

https://qiita.com/eno49conan/items/c608e311798c3b14d325

## Str

楽しいな。簡単な 3Dの オープンワールドのドライブ ゲームです。

#### 簡単な3Dオープンワールドのドライブゲームです。カーソルキーで移動です。上でアクセル、下でブレーキ、左右でハンドルです。物理計算してます。

実行結果。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846020/19d85e0b-8d27-d6cf-65b1-34614246157b.png)

![スクリーンショット 2024-08-09 052403.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846020/860c3fd7-4467-e0e1-69e7-a1b5f8d8a4f4.png)

ジュピター ノートブックにコードを貼り付けて実行すると、サーバーが起動してブラウザ上でゲームが始まります。

#### ドライブ ゲームです。

“`python

import http.server
import socketserver
import tempfile
im

CUDA GPU を使った 4D メッシュグリッドでのシミュレーション。

#### ショートストーリー: 「東京のプログラマーとテンソルの解法。」
東京のビル群が夜空にきらめく中、ケンジは自分のデスクに向かって深く考え込んでいた。彼は東京の一流IT企業でプログラマーとして働いており、複雑なデータの解析とシミュレーションを専門にしていた。最近、彼は大きな課題に直面していた。それは、三次元行列、つまりテンソル形式のデータの処理だった。

![animation.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846020/ee8884bb-f332-b94c-499e-1037b246ea35.gif)

「二次元の行列は普通のコンピューターでもシミュレーションが可能だけど、三次元になるとまったく違う。」ケンジは自分に言い聞かせながら、モニターの前でため息をついた。三次元行列のシミュレーションは、気象予測や流体力学、その他の現実世界のシミュレーションに必要なものであり、非常に複雑で計算量が膨大だ。通常のコンピューターでは、処理が追いつかず、時間がかかりすぎてしまう。

Raspberry Pi5に最新のPythonをインストールする。

## 概略 
Raspberry Pi5にPython3の最新verをインストールする際にPython本体のみのビルド・インストールではモジュールが不足して使えない機能があります。事前にそれらをインストールしてからPython本体をビルドする方法の備忘録です。特に下記2点が大きな問題です。
1. python-ctypesがインストールされないためデバッグエラーして実行できない(VScode)
1. opensslがPythonにリンクされないためpipが使えない
### ビルドの際の不足モジュールについてのワーニング
“`
The necessary bits to build these optional modules were not found:
_bz2 _ctypes _ctypes_test
_curses _curses_panel _dbm
_gdbm _hashlib _lzma
_ssl

Pandas入門~データ分析~【Python】

はじめに

Pandasは、Pythonでデータ分析を行うための非常に便利なライブラリです。
データの操作や分析を簡単にするための機能が豊富に揃っており、特にデータフレーム(表形式のデータ構造)の扱いに優れています。

インストール

“`
pip install pandas
“`

基本概念

`Series`: 一次元のデータ(リストや配列に似たもの)
`DataFrame`: 二次元のデータ(表形式のデータ)

Seriesの基本操作

“` .Seriesの作成
import pandas as pd

# リストからSeriesを作成
data = [10, 20, 30, 40]
s = pd.Series(data)
print(s)
“`

“` .インデックスの指定
# インデックスを指定してSeriesを作成
s = pd.Series(data, index=[‘a’, ‘b’, ‘c’, ‘d’])
print(s)
“`

“` .基本操作
# 特定のインデックスの値にアクセス
print(s[‘b’]) # 出力:

DjangoでAPIを実装する(前半)

# はじめに
この記事は、DjangoでAPIを実装する手順について記載します
My備忘録を兼ねています

# 目次
1. 仮想環境の作成
1. Djangoでアプリ作成
1. MySQLへの接続切替
1. 環境変数を別ファイルで管理

# 実装手順

## 1. 仮想環境の作成

ルートディレクトリに仮想環境を作成するため、以下のコマンドを実行
“`
% python3 -m venv venv
“`

作成した仮想環境には以下のコマンドで入ることができます
“`
% source venv/bin/activate
↑ 開発PCがUNIX系の場合

% venv\Scripts\activate
↑ 開発PCがWindowsの場合
“`

仮想環境から出るときは以下のコマンドを実行
“`
(venv) % deactivate
“`

**(注意)“`pip install“`でパッケージをインストールするときは仮想環境に入って実行しましょう**

## 2. Djangoでアプリ作成

仮想環境に入ります
“`
% source venv/bin/activa

DjangoのMTVパターンについて理解する【Python】

はじめに

Djangoは、Pythonで書かれた高水準なWebフレームワークで、開発者が迅速にWebアプリケーションを構築できるようにするための多くの機能を提供しています。
その中でも重要なのが「MTV(Model-Template-View)」パターンです。

MTVパターンの基本概念

MTVパターンは、アプリケーションの構造を整理し、コードの管理や保守を容易にするための設計パターンです。以下の3つのコンポーネントで構成されています:

Model(モデル)
Template(テンプレート)
View(ビュー)

Model(モデル)

データベースとのやり取りを担当し、データの構造やビジネスロジックを定義します。

Djangoのmodels.pyファイルでクラスとして定義します。これにより、データベースのテーブルやフィールドを定義できます。
“`
from django.db import models
from django.utils import timezone

class Post(models.Model):
title = mode

Pythonで〇×ゲームのAIを一から作成する その105 ミニマックス法によるゲーム木の全てのノードの評価値の計算

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/38f2c8167a14eb99d86c

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

| リンク | 説明 |
|:–|:–|
| [marubatsu.py](https://github.com/ysgeso/marubatsu/blob/master/105/marubatsu.py) | Marubatsu、Marubatsu_GUI クラスの定義|
| [ai.py](https://github.com/ysgeso/marubatsu/blob/master/105/ai.py) | AI に関する関数 |
| [util.py](https://github.com/ysgeso/marubatsu/blob/master/105/util.py) | ユーティリティ関数の定義。現在は `gui_pl

【Django】settings.pyのINSTALLED_APPS

INSTALLED_APPSとは?

Djangoプロジェクトの設定ファイルsettings.pyの重要な部分で、プロジェクトにインストールされているアプリケーションのリストを指定します。
このリストに登録されたアプリケーションは、Djangoによって自動的に検出され、プロジェクト全体で利用できるようになります。

役割

`アプリケーションの有効化`:
INSTALLED_APPSにリストされているアプリケーションのみがDjangoプロジェクトで使用されます。
アプリケーションがここに含まれていないと、Djangoはそのアプリケーションを認識せず、機能しません。

`データベースマイグレーション`:
アプリケーションがINSTALLED_APPSに登録されていると、そのアプリケーションのデータベースモデルのマイグレーションが実行されます。
これにより、データベースのスキーマが自動的に作成されます。

`管理画面の設定`:
管理画面に表示するモデルや管理機能も、INSTALLED_APPSに登録されているアプリケーションに基づいて設定されます。

`テンプレートや静的ファイ

【初心者向け】Djangoでアプリ作成【Python】

Djangoとは?

DjangoはPythonで書かれた高水準なWebフレームワークで、迅速な開発とクリーンで実用的なデザインを特徴としています。

インストール

“` .Djangoプロジェクトの作成
pip install django
“`

“` .アプリケーションの作成
cd myblog
python manage.py startapp blog
“`

アプリケーションの設定

myblog/settings.pyを開き、INSTALLED_APPSリストにblogを追加します。
“`
INSTALLED_APPS = [

‘blog’,
]
“`

モデルの作成

blog/models.pyに、ブログ記事を表すPostモデルを定義します。

“`
from django.db import models
from django.utils import timezone

class Post(models.Model):
title = models.CharField(max_length

Kaggleコンペに初挑戦 ~Classification with an Academic Success Dataset~

## はじめに

Pythonや機械学習の勉強を始めて3か月がたち、力試しではじめてKaggleのコンペティションに参加しました。機械学習に興味はあるけど何から始めればよいかわからない方、Kaggleにこれから挑戦しようと思っている方の参考になれば幸いです。

## 挑戦した課題
– [Classification with an Academic Success Dataset](https://www.kaggle.com/competitions/playground-series-s4e6)

### 内容
アメリカの高等教育を受ける学生のコース、年齢、親の学歴などの特徴量から、その学生が最終的に卒業できるか否か(academic risk assessment)を判定する。

欠損値がなく、カテゴリの意味を説明したドキュメントが用意されているなど初心者向きであると思い挑戦。

## 実行環境
– プロセッサ:12th Gen Intel(R) Core(TM) i5-1240P
– 開発環境:Google Colaboratory
– 言語:Python
– 使用したライブラ