以下の内容はhttps://papermount.hatenablog.com/entry/2022/05/25/135815より取得しました。


数字当てられゲームをつくってみた。

以下のサイト参考に、コンピューターが数字を当てるというゲームをつくりました。

Pythonで「数あてゲーム」の逆(コンピュータが数をあてる)のゲームの作り方

実装したコード

lower, upper = 0, 100
num = int(input("数字を入力してください"))
assert lower <= num <= upper, f"[{lower}, {upper}] の範囲の整数を入力してください"

while True:
pred = (lower + upper) // 2
ret = input(f"正解は{pred}ですか? y: はい, l: {pred}より小さい h: {pred}より大きい").lower()
assert ret in ["y", "l", "h"]

if ret == "y":
break
elif ret == "l":
upper = pred
else:
lower = pred

8

assert ret in ["y", "l", "h"]

内容:y,l,h以外が入力されたらエラーが検知されるようにする

ポイント:assert文の使い方

活用:

・assertionの活用

def apply_discount(product, discount):
price = int(product['price'] * (1.0 - discount))
assert 0 <= price <= product['price']
return price

shoes = {'name': 'Fancy Shoes', 'price': 14900}

apply_discount(shoes, 0.25)

内容:割引セールをしたときに、割引後に価格が0を下回らないようにする。

 

まとめ

assertion文を初めて知った。金額がマイナスになったりしたら、大変だから、ネットショップのシステムにはassertion、もしくはそれと同様のコードが実装されているんだろうなと思う。文字を表示する、動きを見せるといった外側のコードも重要だが、正確性を担保するという内側のコードも同時に学ばないといけないと感じた。




以上の内容はhttps://papermount.hatenablog.com/entry/2022/05/25/135815より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14