2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Python】"和え麺" 屋さんの券売機のボタンが "油そば" だった事件

Posted at

概要

タイトルのとおりです。券売機を前にとまどいを隠せなかったです。
そんなやりきれない思いを、Pythonで再現してみました。

コード

# 2022/08/02 "和え麺" 屋さんの券売機のボタンが "油そば" だった事件

okane = 1000
menus = {"油そば":750, "鶏ラーメン":800, "塩ラーメン":800}

def show_menu():
    print("=====おしながき=====")
    for menu in menus:
        print("  {}:{}円".format(menu,menus[menu]))
    print("=====================\n")

show_menu()

while True:
    want = input("何を食べる? >>>")
    if want == "":
        pass
    elif want in menus.keys():
        print(want + "を注文した!")
        okane -= menus[want]
        print(str(okane) + "円のおつり。")
        break
    else:
        print(want + "が見つからない。\n")
        show_menu()

実行結果

PS C:\Users\XXXX\Documents\python\my> 
=====おしながき=====
  油そば:750円
  鶏ラーメン:800円
  塩ラーメン:800円
=====================

何を食べる? >>>和え麺
和え麺が見つからない。

=====おしながき=====
  油そば:750円
  鶏ラーメン:800円
  塩ラーメン:800円
=====================

何を食べる? >>>油そば
油そばを注文した!
250円のおつり。
PS C:\Users\XXXX\Documents\python\my>

所感

  • 注文が決まるまでは無限ループなので、while True: を使ってみました。inputを要求して、空だったらpassして再度input、の流れは使い勝手がよさそうです。
  • 簡単ながら、関数定義もしてみました。注文しようと思っていたメニューが見つからなかった時に、もう一度券売機のボタンを確認する動きの再現ですね。
  • print(menus)だと味気なかったので、繰り返しとformatを使ってメニューボードっぽくしてみました。辞書の勉強がもっと必要。
  • おつりの処理はおまけ。せっかく辞書型にしたので、活用しようと思っただけです。
  • 和え麺おいしかったです。ラーメンも食べたい。
2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?