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()
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()
コメント