Python関連のことを調べてみた2023年09月22日

Python関連のことを調べてみた2023年09月22日

HTMLタグ内のカラーコードをPillowで適用する【Python】

# 初めに
これが
“`
これが青い、またhogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge別の色これがグレーこれが黄色い、’,
“`

こうなります。
![スクリーンショット 2023-09-22 112153.png](ht

元記事を表示

AtCoder ABC273-A

AtCodeのビギナー用A問題をひたすら解いてます。
簡単なのでモチベーションあがります。
こうしたらOKだったよっていうのを載せます!
(ダメだったよ!ってのも載せてます)

# AtCoder Beginner Contest 273
https://atcoder.jp/contests/abc273/tasks/abc273_a

nの階乗を回答する問題だったので、関数fを作ったのですが、
制限時間の2秒を超えるケースが2つ発生しました><
“`
def f(n):
if n-1==0:
return 1#f(0)
else:
return n*f(n-1)#関数fを再帰する

n=int(input())
print(f(n))
“`

行き詰ってコード解説を確認したら、n!を一発で計算する関数math.factorial(n)を利用するコードが紹介されていました。
Pythonのリファレンスで確認してみたら、「n の階乗を整数で返します。n が整数でないか、負の数の場合は、 ValueError を送出します。」と説明が

元記事を表示

調べ方についての話

# はじめに
 ここ最近、わからないところを調べることができない人が増えていると聞いて、実際にそのような人がいることを実体験した出来事があったので語っていく。

 ここからは友人の話になるのだが、友人はまだパソコンを使い慣れていないレベルなので、この記事を読むときは温かい目で読み進めてください。
 そして、調べ方についてVSCodeにPythonの環境を構築しながら進めるが詳しい内容については書かないので、もし、VSCodeにPythonの環境を構築したいときは他の記事を参照していただきたいです。

# 話をしよう
 友人にVisual Studio Code(以下 VSCode)の入れ方とC言語の環境構築を教え終わった後、「Pythonを使ってcsvファイルにデータを書き込む方法がわからない」と話していたので、どこがわからないのかを聞くと、「どうやってデータを書き込めばいいのかわからない」と返ってきた。
 そこで、一度自分で調べてみたのかを聞いてみると「詳しくは…調べていない…」と返ってきたので、おそらくプログラムが苦手というよりかは調べ方が苦手なのではと思ったが、調べ方なん

元記事を表示

世界の地震発生マップを作成してみた

## 動機
YouTube で見かけた以下の動画を作ってみたくなった.ここまで綺麗なのは作れませんが..

## 完成したもの

https://github.com/takakiba/earthquake_map.git

![EQ_movie.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/515814/aaa56abb-c819-7e08-982a-166bac8cf24e.gif)

## コードの概要
libcomcat というpy

元記事を表示

# mysql-connecor-pythonで生じたエラー[No module named ‘mysql.connector’; ‘mysql’ is not a package] ##

## エラー内容

“`bash
No module named ‘mysql.connector’; ‘mysql’ is not a package
“`

“`bash
$ pip install mysql-connector-python
“`

上記のように確実にインストールしているのに、なぜかエラーが発生していた。

## 原因

ファイル名を’mysql.py’に設定していたことが原因。

自身のプログラムの’connector’を探していたため、エラーが発生していた。

元記事を表示

テトリスCPUを作ろうという話

(この記事は具体的なコードの説明はせず、アルゴリズムの考え方に書いて語っただけの記事です。)

## 概要
**テトリスで強いCPUを作る**

テトリスは20×10のフィールドに7種のミノを設置し、横一列を揃えることでブロックが消去され、揃え方によって相手へ攻撃ができる。
NEXTやHoldを活用することが重要であり、先を見越してミノを置くことが必要である。
世の中にはつよいCPUが開発されており、スピードだけではない強さをみせている。かっこいい。
運任せでなく、人間と同じ入力速度にしても安定して勝てるような強いCPUを作りたい。
上位勢になればなるほど 火力効率が高いのは当然で、自分の攻撃リソース,相手のリソース,相手の盤面展開,相殺当て外し…などを考慮した戦略構築が重要となる。最終的には相手の攻撃まで読めるようなCPUを開発したい。これはその足掛かりである。

実際のコードは読むのにテトリス本体のコードも必要でとても長いので、ここではアルゴリズムの考え方のみを書き、コードそのものはgithubに公開しておく。(めっちゃ汚いけど まあ雰囲気はわかると思う…。)

## 環

元記事を表示

Python GUIライブラリでポケモン図鑑を作成してみた

# はじめに
どうも、フリーランスエンジニアをしているモブ太郎です。
今回の記事では、PythonのGUIライブラリの「Custom Tkinter」を使用して、ポケモン図鑑を作成したいと思います。

細かい説明は省いていますので、参考程度、こういったものがあるんだな程度に見ていってください。
要望があれば、別の記事で「Custom Tkinter」について細かく書きたいと思います。

## 完成形
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3331610/ba8b6650-2bbc-a8aa-aea0-c506220bec42.png)

# Tkinterとは
Tkinterとは、Pythonに標準で付属しているGUIライブラリです。
Windows、Mac、Linuxといった主要なOSに対応しているクロスプラットフォームなGUIライブラリです。

# Custom Tkinterとは
Custom Tkinterとは、Tkinterに基づくPython UIライブラリであり、

元記事を表示

【完全無料】Google ColabでOpen InterpreterをLlama 2で動かす

## はじめに
Open Interpreterを使ってみたいけど、Webの情報は全てGPT-4を使ったものばかり。。。
無料で使えるLlama2を利用した方法はどこにも情報がありませんでした。

だったら仕方ないから、自分で調べるしかないよね!!

:::note warn
心配無用だとは思いますが、一応、、、
現在、Google Colaboratoryでは、画像AIの「Stable Diffusion」の使用が制限されています。
状況によっては今後「Open Interpreter」も制限がかかる可能性があります。
:::

## 環境
実行環境:Google Colaboratory(無料版)
CPU:T4 GPU

## 手順

#### 前段

公式の手順通りに、やってみると以下のようなエラーが発生します。
今回の手順はこれを回避できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3561397/463416e5-0289-8b62-a8a2-10f6d0613

元記事を表示

複数のファイルから指定の文字列を有するファイルを抽出する

# 備忘録
使いたいときに自分で使う

“`python:main.py
# osモジュールをインポート
import os

# ディレクトリのパスを指定
dir_path = r”C:\Users\taizu\Desktop\judge”

word = ‘tyogokin’ #検出するワード

# os.walk関数でディレクトリ内のファイルを再帰的に探索
num = 0
for root, dirs, files in os.walk(dir_path):
# ファイルの絶対パスを生成
for file in files:
file_path = os.path.join(root, file)
# 絶対パスを出力
try:
with open(file_path, encoding=”utf-8″) as f:
s = f.read()
if str(word) in s :
num += 1

元記事を表示

デザインパターン[MVCの章]

## 1. はじめに

### MVCとは?
MVC(Model-View-Controller)は、アプリケーションの構造や役割を分離するためのデザインパターンです。特にウェブアプリケーションやGUIアプリケーションでよく利用されます。

### なぜMVCが必要なのか?
MVCは、アプリケーションの各部分が独立して動作することで、メンテナンスや拡張が容易になるという利点があります。

### 注意点
注意というか前提として学んだもののまとめとして書いたので認識が間違っていること,もっと深ぼった方がいい部分も多々あろうと思います!!
その際はぜひコメントで教えてください!!
この記事はお前らと作っていくぞ!!!
## 2. Model(モデル)の役割

### データ管理とビジネスロジック
モデルはデータの取得や保存、ビジネスロジックの適用などを行います。

### データベースとの連携
多くの場合、モデルはデータベースと連携して動作します。

### モデルの例と実装
“`python
from sqlalchemy import Column, Integer, String

元記事を表示

datetimeモジュール

### 日付と時刻
Pythonには、年月日や時分秒といったデータを扱うために、dateやtimeという専用のデータ型が用意されている。
日付を表現するデータ型は「date型」です。date型には、その日が何曜日なのかを計算するメソッドが備わっている。また、「time型」は時間を表現します。これらの型はよく似たデータ型なので、「datetime
」というモジュールにまとめられている。

実際に使ってみましょう。

組み込みデータ型ではないデータ型を使う場合は、そのモジュールを呼び出す手順が必要です。
“`python
>>> import datetime
“`
ここで何も表示されなければ、正常にdatetimeモジュールが読み込まれたことになります。
まず、特定の日を表現するdate型データの実体を作ってみましょう。
“`python
>>> day = datetime.date(2030,4,14)
“`
datetimeモジュールの中のdate型を使うので、datetime.dateになっています。型の名前であるdateの後に、丸括弧に続けて数字を3つ書いています。年、

元記事を表示

Officeファイル用pythonライブラリを古いoffice形式(ppt,doc,xls)でも使おう

## 背景
Officeファイルを読み込めるpythonライブラリは便利ですが古いタイプのファイル、拡張子で言うと.ppt,.doc,.xlsでは使えないことがあるのは残念です。どうすればよいでしょう。
## 分解して考える
1. 古いタイプのファイルを何とかして読み込む
2. あたらしい形式で一時フォルダに保存
3. 使いたいpythonライブラリに渡す

## win32com.client 使おう
win32com.client(正式なライブラリ名はpywin32)を使うと楽です。環境に入っているということを前提として進めます。

ここではpptのファイルパスを渡すと、一時フォルダ内にpptxに変換したうえで保存し、そのパスを返す関数を考えます。基本的には.docでも.xlsでも同じです。

“` python:pptからpptxに変換する関数
import win32com.client

def ppt2pptx (ppt_path):
try:
pptApplication=win32com.client.Dispatch(‘PowerPoint.

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その12 マークの配置と条件分岐

# 目次と前回の記事

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

https://qiita.com/ysgeso/items/cc9e67c16b0814c8bc2e

# 前回までのおさらい

オブジェクトに関する話がかなり長くなりましたが、前々回の記事で下記のように、ようやく初期化されたゲーム盤のプログラムを記述することができるようになりました。

“`python
board = [[” “] * 3 for y in range(3)]
print(board)
“`
実行結果
“`
[[‘ ‘, ‘ ‘, ‘ ‘], [‘ ‘, ‘ ‘, ‘ ‘], [‘ ‘, ‘ ‘, ‘ ‘]]
“`

# 次に行う実装の検討

次に何を実装するかを検討するために、〇×ゲームの仕様を再掲します。

1. `正方形で区切られた 3 x 3 の 2 次元のゲーム盤上でゲームを行う`
2. `ゲーム開始時には、ゲーム盤の全てのマスは空になっている`
3. 2 人のプレイヤーが遊ぶゲームであり、一人は 〇 を、もう一人は

元記事を表示

leetcode 2分木

## 2分木の問題を解く時の頻出アルゴリズム
再帰関数の中で「右の木」と「左の木」に分けて、再帰関数に再代入する。

## Passするプログラムの形(おそらく。。。)
“`python
def 再帰関数:
if node is None:
return
毎回する処理
再帰関数(右の木)
再帰関数(左の木)
“`
ポイントは“`return“`を各場所です!

## Passしたコード
“`python:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def sumNumbers(self, root: Optional[TreeNode]) -> int:

元記事を表示

Excel加工をしてくれるコードをChatGPTに書かせてみた。

**ChatGPTを使ってExcel自動加工のコードを書かせてみた。**

どこにでも共通する課題としてExcel加工があると思います。もう切っても
切れない縁と言っていいでしょう。当然私が所属している部署にもあります。
色々なパターンがあり、今回の案件だけではありません、もっとたくさん
あります。
***
今回取組んだのは、物流の平準化に合わせた対策に端を発しています。
物流の2024年問題対応として、波動を吸収し毎日納品する物量を平準化
させようという取組の一環です。その為に事実の可視化というところで
素データを元に他のマスターデータと紐付けて曜日別数量や納品リードタイム
別数量をExcelで加工し集計表を作成するというものです。この一連の作業を
ChatGPTに聞きながらPythonでコードを組みました。
***
ノーコードで完成させたかったのですが、やはり複雑なExcel加工となると
やはりプログラミング言語が必要。ExcelVBAという手法もあるのですが、
より汎用性の高いPythonでコーディングしました。(少し知識もあったし)

**最終アウトプットがこれ**

![

元記事を表示

Streamlit をAzure App Serviceで動かす時のAPI Keyの置き場所

最近、エンジニア職じゃないのに生成AIのデモアプリをChatGPTに聞きながら、Streamlitで作る、というのにハマっています。本当に楽しい、いい時代になりました!

ただ、StreamlitってCommunity Cloudで共有するのはとても簡単なんですが、プライベートなレポジトリからは1つしかアプリを作れなくて、2つやりたいんですよ、と思っても有料プランがない。デモアプリをそれぞれ違うお客さん向けに作っておきたいなー、というとき、いきなり不便です。

そしたら、Azure App Serviceで動かせますよ、という記事がQiitaにあって、初めてAzure App Serviceを使いましたが、その手順通りにしたら、かなり手軽にできました。
[Streamlit を Azure App Serviceで動かす!](https://qiita.com/takashiuesaka/items/491b21e9afb34bbb6e6d)

記事を書いてくださったマイクロソフトの方、ありがとうございます!

簡単なんではありますが、生成AIのAPIを使ったデモアプリを作るにあたり、

元記事を表示

画像識別(CNN)アプリを作成してみました

# はじめに
 私は40代のメカ設計者です。以前から気になっていたAIの知見を深めたいと思い、AI学習スクールで学び、プログラミング未経験から悪戦苦闘しながらAIを活用したWebアプリを開発しました。その成果をまとめておきたいと思います。

 もし、これからプログラミング未経験からAIを学ぼうとされる方は、予めpython(AI作成で使用する言語)に触れておくと、円滑にAIの学習ができると思います。

## 目次

 実行環境
・1. 学習データの準備
・2. 学習データの作成
・3. モデルの作成
・4. 学習
・5. 学習の評価
・6. 結果
・7. 今後の課題

## 実行環境
Google Colab
Flask
## 1. 学習データの準備

 学習データは、kaggleのdatasetからダウンロードしてきて、Googleのマイドライブにデータを保存します。 URL:https://www.kaggle.com/datasets/tongpython/cat-and-dog
## 2. 学習データの作成

 以下のコードを実行することで、Google Colab上にマイドラ

元記事を表示

LlamaIndexをハイスペックPC不要、無課金で試す(revChatGPTを利用)

# はじめに

acheong08/ChatGPTを利用したLlamaIndexのCustomLLMの実装
ハイスペックPC不要、無課金でLlamaIndexが楽しめます

ソースコードは下記
[revChatGPT_LlamaIndex_LLM](https://github.com/HawkClaws/revChatGPT_LlamaIndex_LLM)

## LlamaIndexとは

LLM(GPT等)で独自のデータに対して質問できるようにすることができるフレームワークです

下記記事がわかりやすかったです
[LlamaIndex : ChatGPTで独自のデータに対して質問するためのフレームワーク](https://medium.com/axinc/llamaindex-chatgpt%E3%81%A7%E7%8B%AC%E8%87%AA%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%E8%B3%AA%E5%95%8F%E3%81%99%E3%82%8B%E3%81%9F%E

元記事を表示

MojoでNumpyをcodespaces上で動かしたい!

# はじめに
Githubのcodespacesを使用して、MojoでNumpyを動かすことを目標とします。
buildなしで実行するとすんなり動くが、buildするとエラーが出てなかなか解決できなかったので、ここに記します。

# エラー内容

公式ドキュメントを参考に以下でmojoをインストールしてパスを通します。{MODULAR_AUTH}に自分の値を入れます。 (https://developer.modular.com/download より会員登録をして発行)
“`bash
curl https://get.modular.com | \
MODULAR_AUTH={MODULAR_AUTH} \
sh –
modular install mojo
echo ‘export MODULAR_HOME=”$HOME/.modular”‘ >> ~/.bashrc
echo ‘export PATH=”$MODULAR_HOME/pkg/packages.modular.com_mojo/bin:$PATH”‘ >> ~/.bashrc
source ~/.bashr

元記事を表示

Pythonで為替レートの履歴でデータ分析してみた

# はじめに
ドル円レートはメディアで「円高で」「円高の影響で」という耳にタコができるくらい上昇しています
新発売のiPhohe15はアメリカドルで799ドルで14と変化ないですが、日本円だと14から値上がりして発売されます(2023/09/18時点)

一方で、対ユーロの為替はどうなのか見てみました
ここでユーロ円の為替レートを見れます

https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/eurofxref-graph-jpy.en.html

このサイトがXMLで日付毎の為替レートを提供しているのでこれを使用してデータ分析していきます

https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/jpy.xml

# 環境構築
“`
pip install requests pandas matplotlib japani

元記事を表示

OTHERカテゴリの最新記事