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

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

PythonでEncrypt/Decryptのコードを作ってみた

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

今回はPythonを使ってアルファベットの文字列を暗号化したり、逆に復号化したりするコードを作りましたので、コードと仕組みを簡単に書いていきたいと思います。

# Google Colab

https://colab.research.google.com/drive/1eDxCYmYBsk13dwfdoi-GpQ2R13iWGqDT?usp=sharing

# 作成したコード
## 暗号化用コード
“`encrypt.py
import random

############ データを格納するための空配列を生成 ############
afterBin = []
cryptList = []
cryptSentence = []
toSentence = []
toKeySentence = []

############ 関数定義 ############
def listXOR(argA, argB):
for a,b in zip(argA, argB):
A =

元記事を表示

⑧3次元弾性体の応力とひずみとは?「youtube 【初めて学ぶ人のための材料力学の教室】演習問題2/2」をsympyでやってみたい。

・演習問題2/2

# youtubeです。
**途中07:15から (0:00〜10:57)**

<再生リスト
https://www.youtube.com/@zairiki/playlists

# sympyで
・ver0.1
“`python
# ver0.1
from sympy import *
from decimal import Decimal, ROUND_HALF_UP, ROUND_HALF_EVEN
var(‘E,ν’ ,real=True)
var(‘σx,σy,σz’ ,real=True)
var(‘εx,εy,εz,εv’,real=True)
var(‘τxy,τyz,τyz’ ,real=True)
var(‘α ,ΔT’ ,real=True)
rep={E :200*10**( 3),ν :0.3, \
α : 10*10**(-6),ΔT:100, \
# σx:1 ,σ

元記事を表示

パルワールド(Palworld)の専用サーバ運用Tips

色々横着したい。

## サーバスペック

メーカー|TRIGKEY
—|—
品番|‎TRIGKEY PC(笑)
—|—
CPU|Ryzen 5 5560U
—|—
メモリ|テクミヨ ノートPC用メモリ DDR4-3200(PC4-25600) 32GB
—|—
ストレージ|謎メーカーのNVME500GB
—|—
OS|WindowsServer2022 Standard

## やってみたかったこと

1. Windowsのメモリ使用率を監視
1. 80%を超えたらdiscord Webhook を使ってDiscordに通知
1. 90%を超えたら再度通知して、RCONを起動しPalServerをshutdown
1. PalServer-Win64-Test-Cmd.exeのプロセスが消えたらWindows再起動

## やること

1. Pythonをインストール
1. ARRCONをインストール https://github.com/radj307/ARRCON
1. Pythonコードを書く
1. バッチファイル用意する
1. Disc

元記事を表示

go言語 外部コマンドの備忘録

## Go言語の外部コマンドでハマった件の備忘録

### やりたかったこと
goの外部コマンドからconda activate 環境名で仮想環境のアクティベートしてpythonファイルを動かしたい

“`
import (
“log”
“os/exec”
“fmt”
)

func main(){
out, err := exec.Commond(conda activate 環境名).Output()
if err = nil{
log.Fatalln(err)
}
fmt.Println(string(out))
}
“`
これでいけるかと思ったがエラー( status exit 1 )しか返ってこない

外部コマンドでconda仮想環境をアクティベートするときは
exec.Command()の引数を(“bash”, “-c”, “source activate 環境名”)とするらしい

ということで

“`
import (
“log”

元記事を表示

球状黒鉛鋳鉄品の金属組織画像におけるパーライトと黒鉛の分類

## はじめに
球状黒鉛鋳鉄品(FCD)の機械的性質(引張強さ、硬さ、伸び、衝撃値など)は金属組織(黒鉛の形状や基地組織)により大きく変化することが知られています。ここで、黒鉛の形状はJIS G55022の黒鉛球状化率から、パーライトの量はパーライト面積率から、それぞれ金属組織画像を使って求める事ができます。
一般的に、黒鉛球状化率は腐食前の金属組織画像から求め、パーライト面積率は腐食後の金属組織画像から求めますが、今回は下図のような腐食後の金属組織画像から黒鉛球状化率とパーライト面積率の両方を求めてみることにします。

– 腐食液で腐食後のFCDの金属組織画像
![28233510.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1729073/cf42f172-e58a-882f-6b8a-08b1092a0c8e.jpeg)

## 作成したプログラム
使い方やサンプル画像を含めて、以下のgithubに格納してあります。

https://github.com/repositoryfiles/Per

元記事を表示

PyPIの2段階認証とAPIトークン使用が必須化されました

# 概要

Pythonで自作のパッケージを作成した場合、以下のようにPyPIを使用して公開するのが一般的かと思います。(`pip install パッケージ名`でインストールできるアレです)

https://qiita.com/c60evaporator/items/e1ecccab07a607487dcf

 2024年1月より、PyPIにおける2段階認証とAPIトークン使用が必須化されました。これに伴い、**従来のユーザ名/パスワードによる認証**(`.pypirc`にユーザ名とパスワードを記載する方法)では**PyPIへのパッケージアップロードができなくなりました**。

 上記変更に対応して、APIトークンによるパッケージアップロードを行う方法については、以下「実践」を参照ください

## 参考リンク

公式詳細は以下リンクに記載されております

https://blog.pypi.org/posts/2024-01-01-2fa-enforced/

## 実践

以下記事の内容を、2段階認証とAPIトークンを使用する方法に更新しております。私の環境では以下手順でアップロ

元記事を表示

SwinIRを使って高解像度の動画を作成するswin_video

# はじめに
AIにより低解像度の静止画を綺麗に拡大することができるSwinIRを使って動画の解像度を2倍または4倍にするPython用のツールを作成しました。
古いSD動画などをドラッグアンドドロップすることで 2倍または4倍の動画を作成します。

https://github.com/JingyunLiang/SwinIR

# 処理結果
ピクサベイの動画を使っていくつか試してみました。
それぞれバイリニアとSwinIRで2倍にリサイズして比較します。

## 街の空撮

– http://www.amarectv.com/download/olhao_-_14088(360p)_it_x2.mp4

https://pixabay.com/ja/videos/%E3%82%AA%E3%83%AA%E3%83%A3%E3%82%AA-%E3%83%9D%E3%83%AB%E3%83%88%E3%82%AC%E3%83%AB-14088/

## 海岸の桟橋

元記事を表示

二次元標準正規分布を3Dプロットする

## 二次元標準正規分布を3Dプロットしたい

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/1dcb0898-167c-4a17-c8b9-ac13ab57d7ff.png)

プロットしました。

“`python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 二次元標準正規分布の定義
def normal_distribution_2d(x, y):
return 1 / (2 * np.pi) * np.exp(-0.5 * (x**2 + y**2))

# X, Y の値の生成
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)

# Z の値(分布の計算)
Z = normal_distributi

元記事を表示

Discordで飯テロ自動返信BOTを作ってみよう

discordを運営していくにあたって、よく目にする飯テロに対して自動で返信するBOTを作ってみました。
discordBOTの導入手順などは色んな箇所で見かけるので割愛しますが、参考となる情報をまとめに記載しておきます。

最後にサンプルコード全文を記載しておきます。

# 各所の説明

ここにトークンのIDを設定します。
“`
tokenID = ‘ここにトークンIDを入れる’
“`

自動返信する際に、画像付きでメッセージを返すための画像設定をここで行います。
画像ファイルは、imgフォルダを作成し、1.jpgとして準備しておきます。
**IMAGE_MAX**の値が2の場合は、1.jpgと2.jpgを作成します。
**sample_eat_message**は返答するメッセージをランダムで返します。
**IMAGE_MAX**と同じ数にしておく必要はありません。
“`
IMAGE_MAX = 2
sample_eat_message = [”,”,”]
“`

キーワードに応じて返答するメッセージは、特定のキーワードがヒットした場合、必ずメッセージを返します。

元記事を表示

競プロ未経験者による競プロ備忘録①

## 簡単な自己紹介
– エンジニアになって1年くらい
– それまで10年くらい中学校の数学教員
– 大学は数学科だったけど遊び尽くしていたのでほぼ何もしてない
– 2024年1月から競プロ始めた
– 使用言語はPython
– 現在の順位(2024年1月28日時点)
![スクリーンショット 2024-01-28 10.25.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884270/14ab8c58-fd85-6a87-ea48-e735082ac284.png)

## 競プロにはまったきっかけ
会社の人が競プロ挑戦したいという話を聞いて、自分も面白そうなのでやってみようと思ったから

## やってよかった点
AIに頼ってしまう自分を変えられそう(な気がしている)
前提としてAIを使うことを否定するつもりもないですし、むしろ業務の効率化という点から考えると、AIとうまく付き合えるに越したことはないと思っています。
だけど自分みたいに弱々エンジニアの場合、とりあえずAIに聞いて

元記事を表示

ABC338回答メモ

# 0.はじめに
 前回やっと900台にレートが上がったので好調を維持したいとおもいつつ
 臨みましたが、Dにてこずり、スコアが伸びず、レートは落ち888となりました。
 まぁなんとなく縁起がいいからよしとします。

# 1.A – Capitalized?
 なんか、文字列の大文字小文字判定の関数あったよなとググり判明。
 あとは、1文字目がisupperを満たし、1文字目以降がislowerを
 満たす時にYesを表示、満たさなければNoを表示してAC・・・・とはいかず
 Sが1文字の時は、1文字目が大文字という条件だけ満たせばOKという
 条件を追加してやっとACとなりました。

 https://atcoder.jp/contests/abc338/submissions/49695916

# 2.B – Frequency
 collections.Counterを使えば何とかなるかと思いましたが
 もうひとひねりが必要でした。
 【考え方】
  ・Sをリスト化し、collections.Counterで文字ごとのカウントをする。
  ・most_common関数で、文

元記事を表示

Pythonで譜面動画から譜面を作る

# はじめに

__Tab譜が印刷したい!!__
ギターやベースなどを趣味に持つ方なら、一度はYoutubeなどでTab譜を探したことがあるのではないだろうか。そういった時に、こういう場合があると思う。
・動画形式じゃなくて純粋な画像データのTabが欲しい。
・動画のスクリーンショット撮った印刷しても譜面以外の部分が多すぎる
そういった問題を解決するため、今回、動画のスクリーンショットから譜面を作るプログラムを制作した
# 目次

1. [環境](#実装環境)
1. [コード](#コード)
1. [使い方](#使い方)
1. [実行例](#実行例)
1. [最後に](#最後に)
1. [参考文献](#reference)



# 実装環境
Windows10
Anaconda使用
python 3.10.11

またディレクトリ構成は

Tab_Maker.py
Blessing(フォルダ)
-スクリーンショット1
-スクリーンショット2..

元記事を表示

チャート見るのがだるいのでTradingViewを使って自動売買してみた件:Bitget編

# 趣旨
TradingViewを見ていちいち取引所のサイトに移動して注文を出すのがだるい!という時に全部自動化してトレード放棄したいという邪な考えから作ったbotです。
同じことを全く別の方法で実現することも可能です。

Macでもラズパイでもレンタルサーバーでも実装できますが、実際に動かすとなるとレンタルサーバーでやるのが良いと思います。またサーバーで実装した場合はSmeeを使わなくて済むので簡単ですし、より安全です。

:::note alert
以下のコードを実行する場合は全て自己責任でお願い致します。
本記事は教育目的での共有であり、投資を勧誘するものではありません。
:::

# 自動売買に必要なもの
* Smee
* TradingView有料アカウント
* Bitgetアカウント
* その他CEXアカウント(応用)

:::note info
以下のURLからBitget・TradingViewに登録してもらえたらモチベーションが上がってどんどん記事を投稿します。
* Bitget
https://partner.bitget.com/bg/YCSWEB
* Tradi

元記事を表示

ABC338の記録

# はじめに
「NEW GAME!」のことはちゃんと好きなので「ぞいです」はちょっと抵抗ある。青葉ちゃんが元ネタなのか知りませんが。

https://atcoder.jp/contests/abc338

成績:ABC3完(600)

# A
全部文字コードに変換して1文字目が大文字か、それ以降が全部小文字かどうかを確かめた。sが1文字目だけのパターンもあるのでそれだけ注意する。

“`python:A
s = input()
if 90 >= ord(s[0]) >= 65:
for i in range(1,len(s)):
if 90 >= ord(s[i]) >= 65:
print(“No”)
break
else:
print(“Yes”)
else:
print(“No”)
“`

「大文字か小文字かを判定する関数ってないのかな~」と考えながら解いてたが、あるらしいです。

“`python:A’
s = input()
if len(s) == 1:

元記事を表示

Pythonで、地方競馬DATA ( UmaConn ) のデータを取得する。

# 注意
公式に公開されている内容ではなく、個人的に調査まとめた内容となります。

# やりたいこと
地方競馬DATAという、地方競馬の開催情報や結果を配信しているサービスがある。

https://saikyo.k-ba.com/members/chihou/

このサービスでは「UmaConn」というソフトウェアを経由して地方競馬の開催データや、結果情報、出走馬情報を取得することができる。
地方競馬版の JV-LINK ( https://jra-van.jp/dlb/sdv/sdk.html )のような動きをしてくれるらしい。

しかし、使い方などは公開されていない。
このサービスから地方競馬のデータを取得したい。

# 結論から先にいうと

以下のコード、操作で読むことができる。
しかし、データのパースが必要なので、C#などで読み替えてSDKを使用して読んだほうが良さそう。

“`python
import win32com.client

NVLink1 = win32com.client.Dispatch(“NVDTLabLib.NVLink”)

return_code

元記事を表示

【解説・実装】Constrained K-Means

## はじめに
constrained k-means[1]はクラスタサイズ[^1]に最小(最大)の制約を加えた手法です。クラスタ数が多いときやデータの次元が大きいときにしばしば発生するクラスタサイズの不均衡を解消することができます。

次の図と表はA1データセット[2]をk-means、k-means++およびconstrained k-meansによってクラスタリングした結果です[^2]。クラスタサイズの最小・最大が既知の場合、constrained k-meansは他の手法よりも精度が高い傾向があります。

[^1]: クラスタに割り当てるデータ数のことです。

[^2]: A1データセットはクラスタ数が20、クラスタサイズが150のデータセットです。k-meansとconstrained k-meansは初期化アルゴリズムを10回試行し、Inertiaが最も良いものを初期中心に選びました。一方、k-means++は$2 + \log k$個の初期中心候補の中からInertiaが最も良いものを逐次初期中心に選びました。constrained k-meansはクラスタサイズの最小値

元記事を表示

【機械学習】k-means法を用いたポートフォリオリスク分散

# ポートフォリオのリスク分散効果を高めたい
※2021年7月時点の分析のため、分析期間や銘柄名などに違和感があるかと思われますがご容赦ください。

# 1. 戦略概要
### (戦略1)シンプルなリスク分散ポートフォリオを考えると・・・

![スクリーンショット 2024-01-21 22.02.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2795675/69a3bff2-56cc-5429-a663-aa90511dbd88.png)
例えばS&P500の構成銘柄すべてを投資対象銘柄としてポートフォリオを組むことを考えたとき、リスク分散を図る方法は数多くあるが最もシンプルな方法が上の方法だろう。上の方法では、各銘柄に対してリスク量σを計測して(σは過去1年の株価ボラティリティなどが想定される。)、各銘柄ウェイトを1/σ、つまり、(銘柄相関を無視した場合に)ポートフォリオに占める1銘柄あたりのリスク量比率を均等しようとする戦略である。

### (戦略2)戦略1にクラスター分析を組み合わせる

元記事を表示

Python3ではじめるシステムトレード:射影の悪魔と天使

多くの人は微分を用いた最小二乗法を先に学び、その後に射影を学んでいるのではないでしょうか?特にあとから線形代数を学び、射影をまなぶ際に理解に苦しんでいる人は多いのではないでしょうか?私も最初は射影はたいして重要ではなく、学びの過程で出てくる単なる単語の1つにすぎませんでした。最小二乗法はあくまで微分で行う最小二乗法でした。したがって、ストラング:線形代数イントロダクション原書第4版の翻訳を学ぶ過程で、第4章直交性は、理解に苦しむ章の1つです。それは23年5月3日の投稿[python3ではじめるシステムトレード:射影と最小二乗法](https://qiita.com/innovation1005/items/99b3159627d6932e22b3)でも書きました。今回はさらに追加の体験談です。これは多くの勉強仲間が「射影」の重要性を訴える中でのきずきです。間違いはいつもと同じようにあるのでご指摘いただけると幸いです。

“`math
\mathbf{a}=\begin{bmatrix}1 \\ 2 \\ 2 \end{bmatrix}への\mathbf{b}=\begin{bmatr

元記事を表示

DjangoでPOSTされなくって沼った話

# はじめに
Djangoでアプリ外部からPOSTされる処理を実装したので、テスト前にとりあえずcurlでも叩いて実施したところ、200(成功)でも500(エラー)でもなく403(閲覧禁止)が返ってくる事象があった。
しかし、GETでリクエストするとそのロジックは問題なく実行された。メソッド以外に違いがなくDjangoの仕様で沼ったのでその時の対処法をまとめてみた。

# 実際に書いてたソースのイメージ
以下のように仮に「test」って関数があって、GETかPOSTかによってレスポンス内容を変えて返す関数があり、その関数がurls.pyにルーティングされているとする。

“`python:views.py
from django.http import HttpResponse

def test(request):
if request.method == ‘POST’:
return HttpResponse(‘POST!!’)
else:
return HttpResponse(‘GET!!’)
“`

“`python:urls.py
from d

元記事を表示

# 暇な時間に個人開発で簡単にアプリ作ってみた。

# 技術スタック
– フロントエンド
– React
– Typescript
– バックエンド
– Django
– Python3

– インフラ
– ConohaVPS
– Ubuntu
– PostgreSQL

# 作ったもの
**1日先を決め、人と比べず、やることに集中できるTodoアプリ**
普通のTodoアプリとは違いタスクは前日にしか編集できません。
次の日にはやることが明確になっており、決めたタスクに全集中することができるようにしました。
また、どれぐらい自分が頑張ったかを可視化できるので人と比べず、自分のことに集中できるようにしました。

# オープンソースにしました。
– フロントエンド

https://github.com/AsahiSoftWareEngineer/mindtask_react

– バックエンド

https://github.com/AsahiSoftWareEngineer/mindtask_django

# アプリはこちら(PC未対応)

https://mindtask

元記事を表示

OTHERカテゴリの最新記事