Skip to content

Instantly share code, notes, and snippets.

@yattom
yattom / elevator.md
Created September 8, 2024 06:57
お題: エレベーター

お題

エレベーターの制御をおこなうプログラムを書いてください。利用者の操作でカゴが移動し、ドアが開閉します。完全である必要はありませんが、安全面への配慮もしてください。

実現してほしい機能

  • ホールの呼ぶボタンを押すとエレーベーターが来る
    • 同じ階にいればすぐドアが開く
    • 別の階からエレベーターが移動してくる
  • 着くとドアが開く
@yattom
yattom / test_form.py
Last active August 12, 2024 03:35
An experimental framework for input form and validation
import csv
from typing import Any
from dataclasses import dataclass
from pathlib import Path
import pytest
class Validation:
@dataclass

お題: 数値データを処理する

  • CSVファイルを読む
    • SKU ID, 商品名, アクセス数
  • 壊れてる行を取り除く
  • アクセス数(3カラム目)の平均を出力する
    • 外れ値を取り除く(最大値と最小値)
  • アクセス数(3カラム目) が平均を超える行をすべて出力する
@yattom
yattom / excel.ps1
Created June 28, 2021 02:41
Excelのカラムの表記をインデックスを元に求める(0->A, 25->Z, 26->AAなど。インデックスは0始まり(Excelでは1始まり))
function ColumnKey($idx)
{
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $true
$book = $excel.Workbooks.Add()
$sheet = $book.Sheets(1)
$cell = $sheet.Cells(1, 1)
$col = $idx + 1
$cell.Formula = "=ADDRESS(1,$($col),4)"
$text = $cell.Text
@yattom
yattom / なりきり登場人物.md
Last active October 1, 2018 04:42
心理的安全性ゲームの拡張ルール: なりきり登場人物

概要

ゲームをやるグループで、1人ひとりが登場人物の設定を受け持ち、その設定に従って演技します。一番上手に演技できた人が勝利します。

進め方

  1. ゲームを始める前に、1人ひとり「なりきり登場人物」(後述)の設定を選びます。自由に選んでもいいし、サイコロなどで選ぶのも面白いでしょう。
  2. 選んだら、その人物になりきって、ゲームへの意気込みを一言で話してください。
  • 例) 設定が「きびしい」「先生」「眠れない」だったら、「(眠そうな目で)おまえらしっかりやれよ!」と言う
  • 例) 設定が「遊び好きな」「マネージャー」「出会いがあった」だったら、「楽しくやろう!いいことあるかもよ!」と言う
@yattom
yattom / fizzbuzzA.py
Last active September 25, 2018 05:49
[print(("Fizz" if i%3==0 else "") + ("Buzz" if i%5 == 0 else "") or str(i)) for i in range(1,101)]
@yattom
yattom / vending_machine.md
Last active July 15, 2023 19:14
プログラミングのお題: 自動販売機 (設計進化重視バージョン)

自動販売機のプログラムをTDDで書いてみよう!

飲み物の自動販売機の動きを、プログラムで表現してください。

最終的な自動販売機の全機能は、不確定です。 テスト駆動開発のアプローチを有効活用して、 進化的に設計をどんどん変えていきましょう。

命名のヒント

@yattom
yattom / DFG.md
Last active June 20, 2023 23:45
プログラミングお題: 大富豪の手判定

プログラミングお題: 大富豪の手判定

トランプゲームである大富豪のプログラムを書きましょう。

1. トランプのカード

トランプのカードは、4種類のスート(スペード、ハート、ダイヤ、クラブ)と13のランク(A, 2, 3, 4, 5, 6, 7, 8, 9, J, Q, K) の組み合わせです。またジョーカーもカードです。ひと組のトランプは、全53枚(4スート13ランク+ジョーカー1枚)のカードです。

1-1. 1枚のカードを表現する

@yattom
yattom / dist_dice.py
Last active August 7, 2018 04:31
show distribution of roll of dices
def dice_dist(n):
d = [0]
for i in range(n):
d = [b + r for b in d for r in range(1, 7)]
for r, c in {n: d.count(n) for n in d}.items():
print(f"{r:>3} {c/6**n:>5.1%} {'*'*c}")