2021-01-01から1年間の記事一覧

Rust の文字列操作がややこしいので Python の記法と比べながらまとめてみた

最近 Rust にハマりつつあるぷりんです。n 番煎じですが、Rust の文字列操作をまとめてみました。せっかくなので、個人的に一番親しみのある Python の構文と比較しながら見ていきます。 参考にしたサイト 文字/文字列の定義 それぞれの型の間の変換 文字列…

改良版じゃんけん「ツーペン」の効率について

こんにちは。最近「ゆる言語学ラジオ」という youtube チャンネルをよく視聴するのですが、そのチャンネルのとある動画でじゃんけんの改良版「ツーペン」が紹介されていました↓ 動画ではルールの紹介のあと、通常のじゃんけんとの効率性の比較の際に数学が役…

デコレータで遊ぶ(python) :: 特定の時間以外は挙動を変える

こんにちは。 ふとデコレータで遊びたくなったので書いてみました。 import datetime as dt from typing import Callable def time_limit(begin: dt.time, end: dt.time, default: Callable): def deco(func: Callable): def wrapper(*args, **kwargs): now …

enum.py を使った定数管理

こんにちは。いろいろ開発していると、システムに用いる定数を管理したいことがあります。ファイルに保存したりデータベースで管理したりすることも多いかと思いますが、今回は標準モジュール enum を使って Python ファイル内で Python から呼びやすい形で…

イテラブル(list, tuple 等)から数個ずつ取り出したい(Python)

こんにちは。今回はイテラブルから特定の個数ずつ要素を取り出していく方法について語ろうと思います。「イテラブルとはなんぞや?」という方もいらっしゃると思いますが、ざっくりいうと for 文を使って要素を取り出せるようなオブジェクトです。 # こうい…

「Julia が Python より約25倍速いとあるコード」を Rust で書いたらさらに1.5倍速かった

こんにちは。 タイトルが完全にネタバレですが、以下のコードを Rust で書き直してみたという記事です。 smooth-pudding.hatenablog.com上の記事と同様のロジックで「10万以下の素数の個数を数えるコード」をRust で書くとこんな感じになりました: fn main()…

Python でトランプカードを作る方法 n 選 (クラスの書き方紹介)

こんにちは。日々プログラミングをしていると、ふとトランプカードが欲しくなるときがありますよね。そこで今回はいろんな方法で52枚のトランプカードを Python で表現する方法を紹介します。 前提 方法その1: 文字列を全列挙 方法その2: 各カードをタプルで…

フットスイッチの設定をするGUIを作ってみた話

こんにちは。 この記事は↓の続きです。 smooth-pudding.hatenablog.com キーの設定が面倒くさい 前回の記事で、キーを割り当ててフットスイッチを使えるようになりました。ただ、設定するには footswitch のバイナリのあるディレクトリに移動して 特定のコマ…

フットスイッチを買ってPCにつないでみた話(インストール+使用感)

こんにちは。 最近 Amazon でこんな商品を買いました↓ www.amazon.co.jp 普通パソコンを操作するときって手で操作しますけど、足も使えるとなんかいい感じなんじゃね?という発想です。 インストール Ubuntu 向けのドライバインストール手順がない。。。 商…

LINE Bot でトランプゲーム実装してみた(Python+Heroku)

こんにちは。 最近 LINE Bot を使ってトランプゲームを実装してみたので、そのやり方を紹介しようと思います。LINE Bot ですこし気の利いたものを作りたい方などに、実装の一例として参考になれば幸いです。 とりあえず遊んでみる 前提 設計概要 設計詳細 co…

Python で日記書いてみた

~$ python3 Python 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import me >>> from today_events import * >>> print(me.is_awake()) True >>> import date…

functools.py が革命的に便利そうなのでまとめてみた

こんにちは、ぷりんです。いつものようにネットサーフィン(死語)をしていると、functools.py という Python の標準モジュールがあることを知りました↓↓ docs.python.org 関数やクラスを定義するときに補助的に使うものっぽいですが、これがなかなかに「かゆ…

「高校範囲では実数同士の四則演算が成立することは証明していない」について

以下のようなツイートをしたところ、一部から反響がありました。「高校範囲では実数同士の四則演算が成立することは証明していない」って言うとみんなビビるのかな— すむーずぷりんちゃん (@mat_der_D) 2021年2月28日 そこで今回はこの言葉の真意についてお…

Python で「へぇ〜ボタン」を作る(tkinter)

みなさん、へぇ〜ボタンをご存知でしょうか。15年ほど前にテレビで放映されていた「トリビアの泉」という雑学紹介番組で出てきたアイテムで、ゲストが「へぇ〜」と思った度合いに応じて押すボタンです。この番組は当時かなり人気で、へぇ〜ボタンのガチャガ…

引数の自然数番目の素数を返す Python プログラム

なんかTLに流れてきたので自己流で書いてみました。 upper_bound は wikipedia の素数定理のページの結果を鵜呑みにしてます。 ja.wikipedia.orgベラボーにでかい n だと float の精度の問題でだめになると思いますが、そんな場合はどうせそもそも計算終わら…

素数を無限に生成するイテレータを定義したい

すむーずぷりんです。 イテレータとは Python で for 文でどんどん要素出せるやつです。例えば for i in range(10): print(i) のときの range(10) みたいなやつです(正確には多分 range(10) に対応するイテレータオブジェクトの iter(range(10)) が生成され…

近所のホテルに泊まってみた話(2)

この記事は↓の続きです。 smooth-pudding.hatenablog.com 今日はチェックアウトまでの動きなのであんまり内容はないです。 前回のあらすじ 一日の流れ 起床@8:00~8:30 朝食@8:30~9:00 支度@9:00~10:00 チェックアウト@10:00 帰宅@10:10 まとめ 前回のあらす…

近所のホテルに泊まってみた話(1)

どうもすむーずぷりんです。近所を散歩しているとき、こんなことを考えたことはありませんか?「あ〜このホテル泊まってみてぇ」私は思いました。なので泊まってみました。 一日の流れ ホテルの予約@午前中 ぶらぶら@~15:00 チェックイン@15:00 ホテルでごろ…

a^3+b^3+c^3-3abc の因数分解の導出法 n 選

次のような因数分解の公式が知られています。数Iぐらいで習うのではないでしょうか。 数Iで習う公式の中ではおそらく最も覚えるのが大変なのではないかと思います。この記事ではこの公式の導出方法をいくつか紹介します。 展開する方法 特定の文字の三次式と…

ひさくんガチ恋bot自動化進捗(2)

ついに twitterAPI を手に入れたのでbotを自動化しました。当 bot は晴れて自動化されました。毎時00分にガチ恋ツイートをRT/ふぁぼします。— ひさくんガチ恋bot (@hisa_gachikoi) January 5, 2021 前回の記事(下記)からの進捗に加えて、試行錯誤した点をま…

ひさくんガチ恋bot自動化進捗(1)

明けましておめでとうございます。 昨年末に思い立って初めたひさくんガチ恋botの自動化ですが、思ったより進捗したので共有します。 概要 twitterAPI の権限の取得 Python コード開発 Heroku 登録 結論 蛇足 概要 端的には以下の通りです: twitterAPI の権…