- 1. AtCoder Beginner Contest 242 A~C 3完記事
- 2. 動画で得た再起関数の知識をまとめる回【自分用】
- 3. Pythonがプログラミング初学者に嬉しい理由
- 4. JSON Editor Onlineもいいけど、JSON Blobというのもある ~ 解析用編集画面へJSONをアップするAPIを叩く関数をコピペ用に公開~
- 5. 【Project Euler】Problem 93: 四則演算で連続数
- 6. Tkinterでアプリ作成 入門
- 7. 【Sympy演算処理】線形代数再入門①「複式簿記」から「単位行列=単位ベクトル」へ。
- 8. 過去気象データ取得【Python×スクレイピング】
- 9. [Python] PycaretでKaggleの回帰問題に挑戦!
- 10. python基礎
- 11. 「卓球競技団体戦における”ダブルスの勝敗”が”団体戦の勝敗”に与える因果効果を定量化したい」ステップ⓪Tリーグ試合データのスクレイピングによるデータセット作成
- 12. DP解説動画 コード全文 EDPC D問題 #AtCoder
- 13. 数値を範囲 “[0, 除数)” で保持する合同式向け数値クラス
- 14. pythonでのプロジェクト作成に関するツールの使い方まとめ
- 15. django heroku の環境で画像アップロードにcloudinaryを使う方法
- 16. 日記;回すだけIII ⑦ pythonでSDO、PDOの読み書き<その2 Home>ベータ版
- 17. 中心極限定理を Python で確かめる(一様分布,二項分布,コーシー分布を使って)
- 18. Python windowsのcmd、powershellでctrl cでスレッド、プロセスが止まらない時の対処法
- 19. 「つくってマスターPython」で勉強日記#2
- 20. Power BIとPycaretでかんたんクラスタリング
AtCoder Beginner Contest 242 A~C 3完記事
アルゴリズムの学習改善のための自身の備忘録及び学習の一環として記事を書くことにしました.
読んでくれた方で何かありましたら気兼ねなくコメントしてください.お待ちしております.
# [A – T-shirt](https://atcoder.jp/contests/abc242/tasks/abc242_a)## 問題文
>あるプログラミングコンテストでは、以下のルールに従って参加者に T シャツをプレゼントします。
>* 上位 A 位までの参加者は、必ず T シャツが貰える。
>* 加えて、上位 A+1 位から B 位までの参加者のうち C 人が一様ランダムに選ばれ、選ばれた参加者は T シャツを貰える。
>
>コンテストには 1000 人が参加し、全ての参加者が相異なる順位を取りました。
このコンテストの参加者であるいろはちゃんは、X 位を取りました。
このとき、いろはちゃんが T シャツを貰える確率を求めてください。## 制約
>入力はすべて整数
1≤A入力は以下の形式で標準入力から与えられる。
>A B C
動画で得た再起関数の知識をまとめる回【自分用】
参考にした動画
英語の動画だけど、すごい聞き取りやすいし分かりやすいね
この動画の例ではフィボナッチ数列を使ってたから、フィボナッチ数列を求めるための再起関数書いていくよー。
まずは簡単なやつ“`python:practice.py
def fib(n):
if n == 1 or n == 2:
result = 1
else:
result = fib(n-1) + fib(n-2)
return result
“`例えばn=5の時はまず、n=3とn=4に分岐して、そこからn=3⇨(n=2,n=1)となっていって、n=4⇨((n=3⇨n=2,n=1),n=2)みたいにn=2かn=1まで分裂を繰り返していく、分裂が完全に完了したら分裂の数分、数が足されていって、最終的にn=5の値5が戻り値として戻ってくる。
しかし、毎回毎回一からやっていったら計算量がバカにならないので、初めてでた数字はリストに追加していくようにするともっと良くできる。“`python:
Pythonがプログラミング初学者に嬉しい理由
[Python、2021年のTIOBEプログラミング言語オブザイヤーを受賞:CodeZine(コードジン)](https://codezine.jp/article/detail/15438)
[index | TIOBE – The Software Quality Company](https://www.tiobe.com/tiobe-index/)
Python、相変わらず一番人気らしい。というポエムです。## 教える方と教わる方のギャップ
ギャップがあると楽しくない、という話があります。
プログラミング教育では
「まず手を動かしてみよう。これを打ち込んで!」
「(カタカタ)」
「これをビルドして…」$ ./hello
Hello, world!
$「ほら文字が出た、すごいよね!?」
「(だから何…?)」というのがよくある。教える側は当時感動したろうけど相手はそんなこと知ったこっちゃない
— sat (@satoru_takeuchi) September 14, 2019
> プログラミング教育では
> 「まず手を動かしてみよう。これを打ち込んで!」
> 「(カタカタ)」
> 「これをビルドして…」
>
> $ ./hello
Hello, world!
$
>
> 「ほら文字が出た、すごいよね!?」
> 「(だから何…?)」
> というのがよくある。だからた
JSON Editor Onlineもいいけど、JSON Blobというのもある ~ 解析用編集画面へJSONをアップするAPIを叩く関数をコピペ用に公開~
自動化・連携開発に触るのはもっぱらJSON。iPaaS以外での開発はもっぱらPythonなのですが、
# pprint限界っす
100件分とか、件数が肥大するとpprintじゃ無理。収まりきらないし、目視が限界。
まあ.jsonとして保存してもいいのだけど、ビルドの過程のその場限りで見るだけ、使い捨てのものなので、一つのエンドポイント叩くごとにいちいちPath記述してファイル保存する気にならなかった。# JSONのオンラインエディターはJavaScript用
JSON Editor OnlineでもJSON Blobでも、Python記述をテキストエディタで下記のような置換を施した上でコピペするというのを繰り返していた。
– None -> null
– True/False – true/false
– ‘ -> ”# そこでアップロードAPIのあるJSON Blob
元々どちらかというとUI的に好みで、[JSON Editor Online](https://jsoneditoronline.org/)ではなく[JSON Blob](https://jsonblob.com
【Project Euler】Problem 93: 四則演算で連続数
* 本記事は[ProjectEuler](https://projecteuler.net/about)の「100番以下の問題の説明は記載可能」という規定に基づいて回答のヒントが書かれていますので、自分である程度考えてみてから読まれることをお勧めします。
### 問題 93.四則演算で連続数
原文 [Problem 93: Arithmetic expressions](https://projecteuler.net/problem=93)
**問題の要約: 4つの数字を使って四則演算を行った結果を1から順番に並べたとき、最も連続が長く続くような4つの数字を求めよ**
いわゆる[テンパズル(Wikipedia)](https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%B3%E3%83%91%E3%82%BA%E3%83%AB)で10だけでなく、1から順番に数を一番連続で作れる4つの数字はどれかという問題です。
この手の問題はカッコとかがあると扱いがややこしいので[逆ポーランド記法(Wikipedia)](https://ja.wikip
Tkinterでアプリ作成 入門
## 仮想環境作成
### Windows環境
“`
python -m venv tkinter
.\tkinter\Scripts\activate
“`
### Mac環境
“`
python -m venv tkinter
source tkinter/bin/activate
“`
## 実装
### tkオブジェクトを表示
“`py
import tkinterroot = tkinter.Tk()
root.mainloop()
“`
### タイトル名とサイズを決めてみましょう
“`py
import tkinterroot = tkinter.Tk()
root.title(‘Sample’)
root.geometry(‘1200×600’)
root.mainloop()
“`

「**とある喫茶店におけるコーヒーと紅茶の1週間の売り上げ**」から出発。
Coffe Tea Total 0 18 10 過去気象データ取得【Python×スクレイピング】
# 1.はじめに
以下の記事がすべてです。
[@Cyber_Hacnosukeさん](https://qiita.com/Cyber_Hacnosuke)の
[GoogleColaboratoryで気象庁の過去気象データをスクレイピングしてみた。](https://qiita.com/Cyber_Hacnosuke/items/122cec35d299c4d01f10)
参照させていただき、一部カスタムさせて利用させていただきました!ありがとうございます。・スクレイピング対象サイト
[気象庁過去の気象データ検索](https://www.data.jma.go.jp/obd/stats/etrn/index.php)# 2.概要(取得したいデータ)
■日付:任意期間の過去日別データ
■地域:各都道府県(県庁所在地)
■過去気象データ:以下
・降水量
・気温_平均
・気温_最高
・気温_最低
・湿度_平均
・湿度_最小
・日照時間■例:このページから取得します。
https://www.data.jma.go.jp/obd/stats/etrn/view/daily[Python] PycaretでKaggleの回帰問題に挑戦!
# はじめに
[Kaggle 問題にチームで取り組み奮闘記](https://datascienceteam.connpass.com/event/237584/)での発表内容です。
[このKaggleの問題](https://www.kaggle.com/c/tabular-playground-series-jul-2021)に取り組みました。
https://datascienceteam.connpass.com/event/237584/
https://www.kaggle.com/c/tabular-playground-series-jul-2021
## Pycaret でかんたん AutoML
### Pycaret ?
**PyCaret**は、機械学習のワークフローを自動化する Python 製のオープンソース、ローコード機械学習ライブラリです。PyCaret は基本的に、いくつかの**機械学習ライブラリやフレームワークの Python ラッパー**です。
https://techninjahere.medium.com/best-opensou
python基礎
# print(文字を出力する方法)
“`csharp:php
print(‘Hellow World’);
“`
# #(コメント)“`csharp:php
#コメントアウト
“`
# 変数の定義
+ PHPのように、$などはいらない。
+ 変数名の付け方は、`user_name`のように、単語2文字以上のときは、アンダーバーで繋げる。“`csharp:php
name = ‘Naoki’;
name = 12;
“`
+ 変数の中の値を取り出すときは↓
+ クオテーションをつけると、文字列として認識されてしまうので、クオテーションはつけない。“`csharp:php
print(name); //Naoki
“`
# 変数の更新“`csharp:php
x = x + 10//x + = 10と同じ 、x % = 10など
“`
# 文字列の連結+ +記号は、文字列の連結もすることができる。
+ PHPの場合は、’Hello’.’World’→ドットで繋げていた。“`csharp:php
print(‘Hello’ + ‘World’「卓球競技団体戦における”ダブルスの勝敗”が”団体戦の勝敗”に与える因果効果を定量化したい」ステップ⓪Tリーグ試合データのスクレイピングによるデータセット作成
# 始めに
卓球競技の団体戦において、「ダブルスが重要である」「ダブルスが団体戦の鍵をにぎる」と経験知としてよく言われます。
学生時代等に卓球に打ち込んだ方々は、顧問の先生やクラブチームのコーチから言われたことがある人も少なくないのではないでしょうか。
かくいう私も学生時代に卓球に夢中になった者の一人ですが、色んな方々から言われた覚えがあるので、卓球界においてある種の暗黙知として存在するような気がします。そこで、統計的因果推論を用いて「卓球団体戦におけるダブルスの勝敗」と「団体戦の勝敗」の因果関係の定量分析を試みます。
もう少し統計的因果推論の用語を用いると、本記事の目的は、「卓球団体戦におけるダブルスの勝敗(=原因変数)」が「団体戦の勝敗(=結果変数)」に与える因果効果(介入効果)の定量化、になります。以前Twitterで、高校時代の先輩が「『卓球の団体戦はダブルスを取った方が有利』って説、誰か定量的に分析してくれないかなー」みたいな事を言っていたような気もするので、まあ需要もゼロではないん
DP解説動画 コード全文 EDPC D問題 #AtCoder
https://www.youtube.com/watch?v=gVJ16ThsJYs
動画『【ゆっくり解説】DP(動的計画法)解説 EDPC D 【競技プログラミング】』で使用しているコード全文です。
https://atcoder.jp/contests/dp/tasks/dp_d
“`python:
# 入力の受け取り
N,W=map(int, input().split())# (1)表を作る
dp=[[0]*(W+1) for i in range(N+1)]# (3)表の小さい方から答えにたどり着くまで埋める
# i=1~N
for i in range(1,N+1):
# i番目の品物の重さ,価値
wi,vi=map(int, input().split())# w=0~W
for w in range(W+1):
# w-wiがマイナスなら
if w-wi<0: # i番目の品物を入れない dp[i][w]=dp[i-1][w]数値を範囲 “[0, 除数)” で保持する合同式向け数値クラス
# 剰余数を保持する数値クラス
a, p を整数として
“`python:
v = a % p
“`
p と v の情報を保持し、各演算子を使うためのクラスです。例えば、次の計算は“`math:
7754077^{16307003-1} \equiv 1 \pmod{16307003}
“`“`python:
>>> a = ModNumber(16307003, 7754077)
>>> a
(7754077 % 16307003)
>>> a ** (a.divisor – 1)
(1 % 16307003)
“`となります。保持される値 (a.value) は “[0, a.divisor)” です。
クラスが \_\_repr\_\_() 関数で返す文字列は
”(value % divisor)”
形式です。因みに「
7754077 ** (16307003 - 1) % 16307003
」の実行はやめましょう。# プログラム
“`python:modnum.py
from numbers import Ipythonでのプロジェクト作成に関するツールの使い方まとめ
pythonでプロジェクトを行うにあたってよく用いられているpyenv, poetry, mypy等のツールを利用する際のコマンドをまとめました。
この記事で述べた各種ツールを用いたテンプレートプロジェクトをgithubで公開しています。
https://github.com/eycjur/python_project_template
# pyenv
python自体のバージョン管理ツール## インストール
“`bash
brew install pyenv
echo ‘
export PYENV_ROOT=”$HOME/.pyenv”
export PATH=”$PYENV_ROOT/bin:$PATH”
eval “$(pyenv init –path)”
eval “$(pyenv init -)”
‘ >> ~/.zshrc
source ~/.zshrc
“`## pythonのインストール
“`bash
# インストールできるバージョンの一覧
pyenv install –list
pyenv install 3.10.1
pyenv globaldjango heroku の環境で画像アップロードにcloudinaryを使う方法
djangoでherokuデプロイをする際に、画像をアップロードできる機能を実装するため、
cloudinaryを使ってみました。ですが、ググった記事の通りにしてもうまく動作せず、詰まったためメモを残したいと思います。
## cloudinaryをherokuで使う設定
herokuにログインし、resourceからcloudinaryを追加する。

cloudinaryのダッシュボードにいって、
API keyと API Secretをherokuのsettings>config varに入れる。
機能は様々です。多くは、リミット・スイッチの信号が入ると原点に向かって移動する、という動作になっています。移動する方向などで、いくつかのHoming methodが用意されています。
実験では、とくに物理的なリミット・スイッチで制限することはないので、実例は、今の場所を原点とするモードを実行します。
Homing methodは35もしくは37の Homing on current positionを指定します。SDOで0x6098に書き込みます。
Controlword of the Homing Modeでは、ビット4 HOS;Homing operation startのフラグがあり、1: St中心極限定理を Python で確かめる(一様分布,二項分布,コーシー分布を使って)
# 本記事の目的
確率論において重要な定理である「**中心極限定理**」を Python で確かめます.
具体的には,「ある分布から取り出した標本平均の分布が,標本を大きくすることで本当に正規分布に従うのか?」を確かめます.# 中心極限定理とは
数学的に厳密な内容は述べませんが,中心極限定理が何なのかをざっくりと述べます.**定理の内容(ざっくりと)**
$n$ 個の確率変数 $X_1,\cdots ,X_n$ が独立で同じ分布に従うとする.
$E[X_i]=\mu, V[X_i]=\sigma^2, \bar{X}=\frac{1}{n}(X_1 + \cdots + X_n)$ とする.
このとき,$n$ を大きくすると,$\bar{X}$ は正規分布 $N(\mu, \sigma^2 /n)$ に近づく.
※ ここで,$n$ が標本の大きさ,$\bar{X}$ が標本平均です.**記事を書くに至った経緯**
この定理の証明は確率統計の教科書に載っていますが,個人的には難しいと思いました.
そこで,「本当に $n$ を大きくして標本平均が正規分布に従うのか?」を PytPython windowsのcmd、powershellでctrl cでスレッド、プロセスが止まらない時の対処法
# 結論
メインスレッド以外をデーモン化する
# スレッドのデーモン化とは
デーモンスレッドは他の非デーモンスレッドが終了と同時に強制的に終了するスレッドのこと
また、子スレッドは親スレッドのデーモンの値を継承する
つまり、デーモンスレッドによって開かれた子スレッドは引き続きデーモンスレッド# やり方
以下、極端な例。デーモンスレッド、非デーモンスレッドの順にスレッドを実行させればよい
“`python
import threading
from multiprocessing import Process
import timedef task(num: int):
while True:
time.sleep(1)
print(f’task{num}’)def main():
“””ctrl c を受け取るためのスレッド”””
while True:
try:
# スリープ入れないとcpuコアがフル稼働するので注意
time.slee「つくってマスターPython」で勉強日記#2
【出典】[つくってマスターPython](https://www.amazon.co.jp/%E3%81%A4%E3%81%8F%E3%81%A3%E3%81%A6%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BCPython-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%83%BBWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%BB%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0%E3%83%BB%E6%96%87%E6%9B%B8%E5%87%A6%E7%90%86%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B-%E6%8E%8C%E7%94%B0-%E6%B4%A5%E8%80%B6%E4%B9%83/dp/4297110342)
[前回の続きです](https://qiita.com/kato_squallPower BIとPycaretでかんたんクラスタリング
# はじめに
いま話題のかんたん機械学習ライブラリのPycaretをPower BI上で使用してみます。

## Pythonの環境セットアップ
Power BI DesktopでPythonを使用できるように設定します。環境はPower BI用に構築するのがいいと思います。

関連する記事
OTHERカテゴリの最新記事
- 2023.09.22
今さら聞けないHTML 2023年09月22日
- 2023.09.22
オープンソース調べOSS 2023年09月22日
- 2023.09.22
WEBエンジニアが読んでおきたい技術書 2023年09月22日
- 2023.09.22
iOS関連のことを調べてみた2023年09月22日
- 2023.09.22
Python関連のことを調べてみた2023年09月22日
- 2023.09.22
Ruby関連のことを調べてみた2023年09月22日