Python

【Python】日本語キーボード環境でのキーボード操作自動化は「PyAutoGUI」より「keyboard」の方が優れている件

PyAutoGUIの欠点日本語キーボード環境でのキーボード操作自動化において「PyAutoGUI」は以下の欠点があります。 「:」(コロン)、「@」(アットマーク)、「^」が打てない 日本語が入力できない IMEをoffにできない(切り替えはできるが必ずoffにしたい時に…

【Python】【venv】コンソールウインドウ非表示でPythonスクリプトを実行する方法(ワンクリックで実行)

はじめに 方法 注意点 最後に はじめにワンクリックでPythonスクリプトを実行する方法の一つを紹介します。コンソールウインドウは非表示にすることが可能です。WindowsでPythonを使っている人が対象です。pyinstallerでexe化する必要はありません。方法例と…

【opencv-python】【トリミング】画像を固定サイズの矩形で切り取るためのGUIを作りました

opencv-pythonを使って画像を固定サイズの矩形で切り取る(トリミングする)ためのGUIを作りました

【改訂】計算問題を解いてダイエット(pywin32を使って問題を読んでもらう)

はじめに Pythonスクリプト 環境 未解決問題 2022年3月21日追記(PyQt6でGUIを作りました) 2022年3月23日追記(スクリプトの改訂) Pythonスクリプト YAMLファイル はじめに以前にこのような記事を書きました。 touch-sp.hatenablog.com ただひたすら掛け算…

【Python】GoogleDriveからファイルをダウンロード

はじめにPythonスクリプト内でGoogleDriveからファイルをダウンロードすることは不可能と思っていました。しかし、それは間違いでした。パスワードで保護されていないものに限りますが「gdown」というのを使用すると簡単にできました。「gdown」はpipでイン…

【Python】ZIPファイルをダウンロードして解凍する

はじめに 方法 MXNet PyTorch AutoGluon 関連記事 さいごに はじめにZIPファイルをダウンロードして解凍する機会は何度もあります。みなさんはどうように行っているのでしょうか?自分が行っている方法をいくつか紹介します。方法MXNet import zipfile from …

【Python】【将棋ネタ】SFEN形式で書かれた局面をKIF形式に変換する

はじめに 使い方 Pythonスクリプト 注意点 さいごに はじめに正規表現の勉強としてタイトルにある通りのことをします。上の文字列を下のように変換するのが目的です。 1+S5n1/6gk1/p2p1+B1pl/2p3s1p/1p4pN1/2PPp3P/PP1G2+bP1/1KGS1+r3/LN6L w GL2Prsn2p 102…

【C#】ルービックキューブの最短解を求めたい Part 2 Pythonとの速度比較

ルービックキューブの最短解を求めることが目的です。

【C#】ルービックキューブの最短解を求めたい PythonからC#へ

ルービックキューブの最短解を求めることが目的です。

ルービックキューブの最短解を求めたい Part 2(結論:やっぱり全然無理でした)

はじめに 結果 前回の結果 今回の結果 これから はじめに前回から枝刈りの部分に改良を加えました。 touch-sp.hatenablog.com結果前回の結果13手問題を解くのに1時間以上かかっていました。 # Start searching length 1 # Start searching length 2 # Start…

ルービックキューブの最短解を求めたい(結論:現状、全然無理でした)

はじめに テーマ 結論 これから はじめに3×3×3のルービックキューブはどんな状態からも最長20動作でもとに戻せるそうです。 20手くらいならコンピュータで求められないか?そう考えたのが今回の動機です。テーマ今回のテーマは「ルービックキューブの最短解…

【Python】【アルゴリズム】【幅優先探索】川渡りクイズを解く

Pythonで川渡りクイズを解きました。すべての解答を表示できるように工夫しています。

【Python】【再帰処理】【速度重視】数独を解く(改の改)

Pythonを使って数独(ナンプレ)と解きました。

【Python】【再帰処理】【速度重視】数独を解く(改)

はじめに 結果 前回の結果 今回の結果 方法 事前準備 実行スクリプト 方法の解説 2021年8月13日追記 はじめに前回非常に短いスクリプトで数独を解くことにトライしました。 touch-sp.hatenablog.com今回は速度重視で解いてみます。結果前回の結果 elapsed_ti…

【Python】【再帰処理】数独を解く

Pythonでバックトラック法を用いて数独を解きました(再起処理)。

【将棋ネタ】【Python】ただPCとの対戦を繰り返しているだけでは棋力向上は無理っぽい。アプリを作って手筋を暗記しよう。

はじめに7月はPCとの対戦を約300局行いました。対局を繰り返すことで棋力が向上することを期待していました。しかし現実はそう甘くないようです。はっきり言って最近行き詰っています。 そこで本で学習することにしました。 さっそく1冊購入しました。最強の…

PythonとMXNetとGluonCVの組み合わせ(Windows)

はじめに 動作確認できた組み合わせとインストール方法 CPUのみ 3 組み合わせと動作確認日 インストール方法 2 組み合わせと動作確認日 インストール方法 1 組み合わせと動作確認日 インストール方法 GPUあり 1 組み合わせと動作確認日 インストール方法 は…

【Python】【将棋ネタ】盤面を回転させる

はじめに 本題 盤面を回転させる 回転前 回転後 持ち駒を書きかえる 回転前 回転後 指し手を書きかえる 回転前 回転後 最終的な同一局面検索のPythonスクリプト はじめに同一局面検索をするにあたっては盤面を回転させた局面も一緒に検索できたら良いと思い…

【Python】【将棋ネタ】自身の棋譜に対して同一局面検索を行う

自身の棋譜を使って同一局面検索を行います。

【Python】【将棋ネタ】KIF形式の棋譜データから一括ですべての局面をSFEN形式で取得する

Pythonを使ってKIF形式の将棋棋譜データからSFEN形式の局面データを一括で取得する方法です。

【Python】【正規表現】【将棋ネタ】将棋の棋譜ファイル(KIF形式)から指し手のみを抽出する

Pythonを使って将棋の棋譜ファイル(KIF形式)から指し手のみを抽出します

【スクレイピング】【Python】【将棋ネタ】将棋データベースサイトからSFEN形式で局面を取得する

Pythonを使って将棋データベースサイトからSFEN形式で局面を取得します

PythonでDICOMファイルを扱う

Pythonのpydicomパッケージを使用してDICOMファイルを扱ってみました。

計算問題を解いてダイエット

2桁×2桁の掛け算をただ単に繰り返し暗算してダイエットしようと考えた。 自分の限界はここまでで3桁になると暗算はムリ。 体動かすのもいいが脳をフル回転すればカロリーは消費されるはず。 問題と答えは画面に表示させるのではなく読み上げとしました。 音…

Pythonでカードをめくるアニメーションを作る【GIF】

回転している画像を作成する from PIL import Image import numpy as np import cv2 img = cv2.imread('sss10.jpg') pts0 = np.float32([[256,256],[256,0],[0,0],[0,256]]) pts1 = np.float32([[192,236],[192,20],[64,0],[64,256]]) pts2 = np.float32(([1…

Pythonで簡単なスクレイピング

import requests, bs4 import argparse import os from mxnet.gluon import utils parser = argparse.ArgumentParser() parser.add_argument('--ID', help='棋士番号', type=int, required=True) args = parser.parse_args() num = args.ID print(str(num)) …

Anacondaやめました

Anacondaのメリット Jupyter Notebookがついてくる 仮想環境を作る時に多くのモジュールをインストールしてくれる 「conda install」はもともと全く使っていない(「pip install」で不自由ない) conda install <モジュール名> Anacondaやめてどうしたか? V…

Windowsでtar.gzファイルを解凍する

公開日:2018年8月28日 import tarfile data_file = 'sample.tar.gz' with tarfile.open(data_file) as tar: tar.extractall(path='.') 2022年10月11日追記この方法は危険だと突然知らない人からメールが来ました。 そのメール自体が危険なものである可能性…

ビット精度を明示する重要性

画像を読み込んだ配列を255で割る時を考える >>> from PIL import Image >>> import numpy as np >>> img = Image.open('2_1_image_0027.jpg') >>> array_1 = np.asarray(img) >>> array_1.dtype dtype('uint8') 明示しない時 >>> array_2 = array_1/255 >>>…