- 1. 長テーブルのうなぎ屋 Python3編 解答 paizaラーニング
- 2. Pythonを使ってログファイルから処理時間を計算するプログラムを作成する
- 3. DjangoでMarkdown記法を使う環境をセットアップする手順
- 4. Python入門 ライブラリとは何か?を勉強しました
- 5. 【AT Protocol】PythonでBlueskyのタイムラインと特定ポスト取得
- 6. GitをPythonで自作した
- 7. 手続き型から関数型への書き換え 言語別ガイド
- 8. 「Python で学ぶ画像認識」の画像分類プログラムを自前の Transformer に改修しました。
- 9. ABC341回答メモ
- 10. 最高レベルの背景除去 RMBG-1.4
- 11. PythonでABC341を解いてみたよ(A~E問題)。
- 12. ラズパイ5 2023年10月更新 bookworm ② pythonでI2Cバスをアクセス
- 13. SARIMAモデルを用いたSPY ETF価格の予測
- 14. ABC340の記録
- 15. ChatGPTを使いながらRPGゲームを作成する(その5) 主人公のステータス表示widget作成
- 16. FastAPI on_eventがlifespanに変更
- 17. FDUA金融コンペで垣間見えたDataikuへの高いニーズと強いモメンタム
- 18. ABC341をPythonで(A~F)
- 19. Python : Yahoo迷惑メールを取り扱う
- 20. 空力弾性計算プログラムSHARPyをWindows 10 + WSL (Ubuntu 22)にインストールする
長テーブルのうなぎ屋 Python3編 解答 paizaラーニング
# 問題
長テーブルのうなぎ屋 (paizaランク B 相当)
https://paiza.jp/learning/long-table# 解答
“`python:unagiya.py
def is_ocupied_seats(num, place):
for i in range(place, place+num):
if seats[i%n] == True:
return False
return Truen, m = map(int, input().split())
seats = [False] * nfor _ in range(m):
num, place = map(int, input().split())
place -= 1
if is_ocupied_seats(num, place):
seats[place:place+num] = [True]*num
# print(seats, is_ocupied_seats(num, place)
Pythonを使ってログファイルから処理時間を計算するプログラムを作成する
# 概要
仕事をしていると特定の処理が開始されてから終了するまでの時間、つまり「処理時間」を計算することが必要になることがあります。特にログファイルを見て特定の処理時間を確認する場合や全体の処理時間を確認する場合です。けれど、ログファイルは通常、大量データとなるため、手作業で処理時間を計算することはかなり大変です。そこで、この記事では、PythonとPandasライブラリを使用して、ログデータから処理時間を計算するプログラムを紹介します。
## 処理時間計測の要件
今回のログファイルは以下を想定しています。
* ログファイルはCSVデータ
* STARTやENDといった行があってその差を求めることで処理時間とする
* マルチスレッド処理を想定しログ内には同一処理(同一ユーザの操作など)を判定する情報がある## サンプルCSV
“`log.csv
2024/02/01 09:10:00,XYZ,0001,START
2024/02/01 09:11:11,ABC,0002,処理1開始
2024/02/01 09:22:22,XYZ,0002,処理1開始
2024/02/0
DjangoでMarkdown記法を使う環境をセットアップする手順
こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。今回はタイトルにもある通り、DjangoでMarkdown記法を使う環境をセットアップしていきたいと思います。
ざっと調べてみたところAPIとかで実装する方法もあるっぽいのですが、今回はdjango-markdownxを使って環境を作っていきます。# 用語
## Markdown記法Wikipedia様から拝借します。
Qiitaを使っている皆様であればおなじみの記法ですね。
Djangoはデフォルトでこの記法が使えないっぽいので、例えばDjangoでBlogサイトを運営していこうと考えた時、HTML/CSSでべた書きしていかないといけないっぽく、不便っぽいです。>文書を記述するための軽量マークアップ言語のひとつである。本来はプレーンテキスト形式で手軽に書いた文書からHTMLを生成するために開発されたものである。しかし、現在ではHTMLのほかパワーポイント形式やLATEX形式のファイルへ変換するソフトウェア(コンバータ)も開発されている。
https://ja.wikipedia.org/wik
Python入門 ライブラリとは何か?を勉強しました
今日は、ライブラリとは何のか理解していなかったので、下記の動画を勉強しました。
Python入門 第11回|ライブラリとは何かと3ステップの使い方を理解しよう!【高校情報1】
いつものように目次に沿って、備忘録を残します。
## 00:00 今回のテーマ
ライブラリーとは図書館
プログラミングもライブラリからプログラムの機能を読み込んで使うことができます。今回の学習目的
1、ライブラリとは何かを理解する
2.Pythonのライブラリを使えるようになる## 00:37 ライブラリとは
よく使う処理を利用しやすくまとめたもの
標準的にインストールされているライブラリか、それ以外のライブラリかの②種類に大まかに分かれる1.標準ライブラリ
Pythonをインストールしたときに既に入っているライブラリ
モジュール:プログラムの部品(=ファイル)
例.random.py
パッケージ:モジュールの集まり2.その他のライブラリ
→別途インストールが必要
pip install ライブ
【AT Protocol】PythonでBlueskyのタイムラインと特定ポスト取得
BluskyとAT Protocolを引き続き勉強中。
Pythonの勉強も同時並行で進めています。
ツッコミどころもあると思いますがよしなに。。。今回は自分のアカウントのタイムラインを取得してみました。
仕様により最新から50投稿分しか取得できないのかも。Flaskを使ってWebブラウザに表示してみたいと思います。
# 環境
OS macOS 14.2.1
Python 3.12.1
pip 24.0AT Protocolと直接関係のない部分(HTMLやserver.py等)はこちらを参考にしてください
フォルダ・ファイル名はこちらに準じます。(この名前である必要はありません)https://github.com/ynack/bsky_timeline.git
こちらも参考にしてください。
https://qiita.com/ynack/items/85ccf951727f8ac48c6c
# タイムラインの取得
ルーティング指定とメソッドの呼び出しを記述します。“`:.venv/bskytimeline/templates/views.py
fro
GitをPythonで自作した
# はじめに
Gitの内部構造を勉強した時に、自分でも実装したくなったのでPythonを使って再現してみました。
https://qiita.com/akstn23456/items/dfbb09410c88853a5857
# 実装する機能
実装する機能は以下の通り
– git add
– git commit
– git branch
– git checkout
– git log# ディレクトリ構成
ディレクトリ構成は以下のとおり
“`
.
├─ git
│ ├─ HEAD
│ ├─ index.pkl
│ ├─ object
│ └─ refs
│ └─ heads
│ └─ master
└─ src
└─ *.py
“`– git :ファイル管理を行う上で使用するファイルを保存するディレクトリ(.gitに該当)
– HEAD:現在作業しているcommitオブジェクトを表すファイル
– index.pkl:ステージングしたファイルの情報を表すファイル
– objec
手続き型から関数型への書き換え 言語別ガイド
# はじめに
この記事では、手続き型プログラミングと関数型プログラミングの違いを明らかにし、複数の言語を通じて、同じ問題を解決するための両アプローチを示します。
# 手続き型と関数型の基本的な違い
手続き型プログラミングと関数型プログラミングは、コードの書き方とプログラムの設計において根本的に異なるアプローチを取ります。これら二つのスタイルの基本的な違いを理解することは、プログラミングの柔軟性を高め、より効果的なコードを書く上で重要です。
## 手続き型プログラミング
手続き型プログラミングは、命令の列としてプログラムを考えます。このアプローチでは、データ構造を操作するために一連の手続き(関数やサブルーチン)を作成し、プログラムの状態を変更するためにこれらの手続きを実行します。手続き型プログラミングの特徴は、プログラムがどのように実行されるか(アルゴリズムと手順)に焦点を当てている点にあります。C 言語や Java(オブジェクト指向の側面を除く)などが、このパラダイムの典型的な例です。
## 関数型プログラミング
関数型プログラミングは、計算を数学的関数の評価として扱い、
「Python で学ぶ画像認識」の画像分類プログラムを自前の Transformer に改修しました。
## はじめに
独自の非自己回帰型の Transformer を提案しています。音声合成については、
https://qiita.com/toshiouchi/items/668e88e8bf91e154d779
で報告させていただきました。音声認識については
https://qiita.com/toshiouchi/items/033dd91bd10e1181297e
https://qiita.com/toshiouchi/items/9a0c62f41358eab8cb3d
で報告させていただきました。機械翻訳については
https://qiita.com/toshiouchi/items/f6932bb5c3fe1c04f489
で報告させていただきました。今回、提案している Transformer の非自己回帰型の使い方を、「Python で学ぶ画像認識」という本の 130 ページで解説されている Vision Transformer に応用して、学習を行い 64 % という正解率を得たので報告させていただきます。
## 改修点
### Transfome
ABC341回答メモ
# 0.はじめに
最近デイリーコンテストでの練習時間をとれていない事に
不安を覚えつつ参加。
てこずりながらもDまで解けましたが、E以上は
解けず及第点といった結果でした。
レートは+5と微増で900台はキープできています。# 1.A – Print 341
最初に”1″を格納したリストansを用意。
そのリストに、N回”01″を追加し
最後にansを結合した文字列を表示して終了https://atcoder.jp/contests/abc341/submissions/50333119
# 2.B – Foreign Exchange
問題文を読むと両替する順番とか一部両替で得するケースが
あるかとか考えてしまいそうな気がしましたが、結局
1つ目の国から順番にすべて両替していくだけでした。【実装】
・変数ansを0で初期化
・N-1回以下繰り返し
・S,Tをインプット
・両替単位p(現在のi国のコインをもとに
・何セットi+1国のコインが得られるかの数)を求める
・p=(ans+A[i])//S
最高レベルの背景除去 RMBG-1.4
# 画像内の顕著なオブジェクトがくっきりとれる
以下のように、細部や前景の扱いが上手い。![pexels-oleksandr-p-1004359.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/34af8629-c6d9-f898-9f02-b9a7ec8aa2d0.jpeg)
![example_image_no_bg.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/7a19252d-b1d1-9d17-8dde-3d5de6bcae5f.png)
![IMG_0895.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/305eb682-07ce-e381-a219-6be35191c796.jpeg)
https://huggingface.co/briaai/RMBG-1.4
ISNet
PythonでABC341を解いてみたよ(A~E問題)。
[AtCoder Beginners Contest 341 (ABC341)](https://atcoder.jp/contests/abc341) をPythonで解きました。
見やすいコードを書く練習も兼ねてます。TwitterとPayPayリンクをまとめたリトリンを下に貼ってあります。
Twitterのフォローお待ちしてます!(DMでなにか一言いただけるとたすかります…!)
この記事が役に立ったなと思ったら、PayPayのご支援もよろしくお願いします┏○ペコッhttps://lit.link/mer6177999
# A – Print 341
## 問題
正整数 $N$ が与えられます。
$N+1$ 個の `1` と $N$ 個の `0` からなる、 `0` と `1` が交互に並んだ文字列を出力してください。https://atcoder.jp/contests/abc341/tasks/abc341_a
## 考察
Pythonでは、文字列の連結や繰り返しを `+` や `*` をつかって簡単に書けます。
“`Python
“””文字列の連結・
ラズパイ5 2023年10月更新 bookworm ② pythonでI2Cバスをアクセス
[<ラズパイ 2023年10月更新 bookworm 連載記事>](https://www.denshi.club/parts/2024/01/202310-bookworm-2-python.html)をラズパイ5で再検証した記事です。
[前回](https://qiita.com/jamjam/items/1f1ed357e2e1f8847605)、下記の環境で、I2Cのアクセスまで実験しました。それまでのOSと変わらない使い勝手でした。
### 環境
– ハードウェア Raspberry Pi 5(4GBモデル)
– OS Raspberry Pi OS (64ビット)、リリースDecember 5th 2023
– Windows10 22H2にてssh(OpenSSH_9.2p1 Debian-2+deb12u2, OpenSSL 3.0.11 19 Sep 2023)を動作させている### Pythonで気圧センサLPS22HBをアクセスする
ここでは、Pythonを使って、I2Cバスにつながっているセンサのデータ(気圧と温度)を読み取ります。
### A
SARIMAモデルを用いたSPY ETF価格の予測
# 概要
Python初心者がSARIMA(Seasonal Autoregressive Integrated Moving Average)モデルを用いて、オープンデータをもとにSPY ETF価格予測を行った手順と結果のまとめです。
#### SPYとは
SPDR S&P 500 ETF Trustは、NYSE Arcaという取引所で取引されていて、SPYという略号が使われています。これは、S&P 500という株価指数を追跡する投資信託の一種で、世界で最も大きくて歴史のあるものです。
[参考リンク_wikipedia_SPDR S&P 500 Trust ETF](https://en.wikipedia.org/wiki/SPDR_S%26P_500_Trust_ETF)# 目次
– 1.はじめに
– 2.実行環境
– 3.利用データセット
– 4.実行内容
– 5.実行結果
– 6.課題/改善点
– 7.終わりに# 1.はじめに
業務では主にエクセルを使用して簡単なデータ分析を行っていますが、大規模データの処理や効率的な分析手法には不慣れでした。Pythonを学ぶ
ABC340の記録
# はじめに
2完どまりになってしまった。厳しい。https://atcoder.jp/contests/abc341
成績:AB2完(250)
# A
1と0のセットがn個あって最後に1がついていると解釈する。
“`python:A
n = int(input())
print(“10″*n + “1”)
“`# B
問題を理解するのに時間がかかってしまった。
n-1番目がなくなるまでn番目に変換し、n-1番目がなくなったらn-2番目にさかのぼって補充して……と考えていたが提出してみるとTLEだった(WAも2個あったし)
“`python:B-TLE
n = int(input())
A = list(map(int, input().split()))
ex = []
for i in range(n-1):
s,t = map(int,input().split())
ex.append([s,t])
while A[0] >= ex[0][0]:
for i in range(n-2,-1,-1):
if A[i] >=
ChatGPTを使いながらRPGゲームを作成する(その5) 主人公のステータス表示widget作成
### 目標
* 主人公のステータス画面を作成する![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/576081/52399ea1-6d2f-7641-7b30-2148895e3a9d.png)
### 必要なことの整理(FFっぽいことを)
* 枠線(白)
* 背景(青)
* 文字(白)### 重要ポイント
* レイアウトが必要であること(FloatLayout)
* 文字はLabelを使用
* 枠線は丸みのある枠線にエレガントがあるので、少し凝りました
→ChatGPTにKivyを使って円弧を書かせるFloatLayoutを継承しないと書けない
“`py
from kivy.uix.floatlayout import FloatLayout
from kivy.graphics import Color, Line, Rectangle
from kivy.uix.label import Labelclass PlayerStatusWidget(FloatLa
FastAPI on_eventがlifespanに変更
こんばんは、最近FastAPI触ることあったので備忘です。
これまで起動時と終了時の処理は`on_event`を使用していましたが、最新バージョンではなくなってしまいました。
https://fastapi.tiangolo.com/advanced/events/
旧コード:
“`python
@app.on_event(“startup”)
async def startup_event():
print(“startup event”)@app.on_event(“shutdown”)
async def shutdown_event():
print(“shutdown event”)
“`新コード:
“`python
from contextlib import asynccontextmanagerfrom fastapi import FastAPI
@asynccontextmanager
async def lifespan(app: FastAPI):
print(“startup event”)
y
FDUA金融コンペで垣間見えたDataikuへの高いニーズと強いモメンタム
# はじめに
金融データ活用推進協会([FDUA](https://www.fdua.org/blog/996fy6fi23m)) のお取組に賛同し、金融業界全体のリテラシー向上およびデータ活用の高度化、スケール、加速化に貢献できればという思いから、[第2回 金融データ活用チャレンジ](https://signate.jp/competitions/1325)に分析環境および教育コンテンツを提供させて頂きました。
Dataikuはノーコーダー・ローコーダー・フルコーダー、全てのユーザーが直感的に操作可能で、分析プロセス全体をカバーします。今回、**400名**を超える参加者に製品を体験していただき、「ワクワクした」「楽しかった」「自分でもできた」「コーダーも使うべきだ!」とのコメントを多く頂き、Dataikuに対する高いニーズと強いモメンタムを実感しました。
普段お客様とお話していると下記のような声が聞こえてきます。
+ 「AIに取り組まなければいけないのはわかっているけど、どのように進めればいいかわからない」
+ 「数年前からAIの民主化のためにAutoMLツールを導入したけど
ABC341をPythonで(A~F)
トヨタ自動車プログラミングコンテスト2024#2(AtCoder Beginner Contest 341)の解答等のまとめ
https://atcoder.jp/contests/abc341
# A問題
「10」を入力された数だけ繰り返し「1」を付け足す
“`python:A
print(“10″*int(input())+”1”)
“`# B問題
順番に計算していく
“`python:B
n = int(input())
a = list(map(int, input().split()))for i in range(n – 1):
s, t = map(int, input().split())
a[i + 1] += a[i] // s * tprint(a[-1])
“`# C問題
$(0, 0)$スタートとして通る場所を計算しておいて、あとは全探索計算量的に$O(HWM) >10 ^ 8$だから間に合わさそうと思ったけど通った
“`python:C
h, w, n = map(int, input().split())
Python : Yahoo迷惑メールを取り扱う
Yahooメールの迷惑メールがいつも大量になっている私。
定期的にpythonで消したい。
って、言っても迷惑メールに入ってるから削除作業しても、そのままそこにいらっしゃるコードになってしまった。
完全削除はできないため。
なので、どんなメールが迷惑メールに来てるか、リストを見るくらいのコードになってしまった。
収穫は、迷惑メールのフォルダ名は、==Bulk Mail== というのが分かったこと***
# 最初に “IMAP有効” にする
Yahoo!メールでIMAPを有効にするには、アカウントの設定から「IMAP/POP/SMTPアクセス」を選択し、「IMAP」の「有効にする」をクリックして確認します。さらに、「Yahoo! JAPAN公式サービス以外からのアクセスも有効にする」を選択することで、外部アプリやメールクライアントからのアクセスを許可します。これにより、IMAPを介したメールの送受信が可能になります。
参考
***
空力弾性計算プログラムSHARPyをWindows 10 + WSL (Ubuntu 22)にインストールする
# はじめに
この記事では柔軟構造の航空機の非定常空力弾性計算が可能なプログラムSHARPyをWindows10のWSL環境に導入し,テストケースの実行までを行います.
本文にはないですが,付属のテストケースsimple_HALEを実行し,その結果をparaviewで可視化するとこのような動画ができます.フゴイド的な動きが見られますね.![flight0to100_2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335923/2a6b0416-59d8-5385-0a36-33a45cf4ad3f.gif)
SHARPyはCやFortranで書かれたプログラムをPythonで動かすという仕組みになっているため,CとFortranのコンパイル環境とPythonの環境が必要です.ここではその環境構築から順に行います.
なお,公式のインストレーションが十分優しいので補足情報が主です.# WSLのアンインストール(必要な人のみ)
:::note warn
注意:以下のアンインストールを実行すると