ちょっと変わった入力方法を使えるPythonの「bullet」

Pythonを使ってターミナルで値の入力をさせるときは次のようにします。

result = input("入力:")

基本的には文字列の入力しか受け付けません。
bulletを使うと様々な入力方法を使うことができます。
GitHub – bchao1/bullet: 🚅 Interactive prompts made simple. Build a prompt like stacking blocks.

ここでは次の方法を試しました。
bullet
選択肢から一つを選択。
check
選択肢から複数を選択。
numbers
数値のみを入力。
yesno
yまたはnのみを入力。

from bullet import Bullet, Check, Numbers, YesNo

def main():
  result = input("入力:")
  sample_bullet()
  sample_check()
  sample_numbers()
  sample_yesno()

def sample_bullet():
  cli = Bullet(
    prompt = "カーソルを動かしエンターを押してください。:",
    choices = ["北海道", "青森", "岩手", "宮城", "秋田"]
  )
  result = cli.launch()
  print("入力値:", result)

def sample_check():
  cli = Check(
    prompt = "カーソルを動かしスペースで選択してください(複数選択可)。決まったらエンターを押してください。:",
    choices = ["北海道", "青森", "岩手", "宮城", "秋田"]
  )
  result = cli.launch()
  print("入力値:", result)

def sample_numbers():
  cli = Numbers("数値を入力:", type = int)
  result = cli.launch()
  print("入力値:", result)

def sample_yesno():
  # cli = YesNo("YesNoを入力:", default = "y")
  cli = YesNo("YesNoを入力:")
  result = cli.launch()
  print("入力値:", result)

if __name__ == '__main__':
  main()

コメント

タイトルとURLをコピーしました