ユーザーがキーボードから値を入力する場合、ここでデフォルト値を設定する必要があります。ユーザーが値を入力できるコードは次のとおりです。
input = int(raw_input("Enter the inputs : "))
ここでは、値を入力してヒットした後、値は変数input
に割り当てられます Enter。値を入力せずに直接ヒットする方法はありますか Enter キー、変数はデフォルト値に直接割り当てられます。たとえば、input = 0.025
?
_input = int(raw_input("Enter the inputs : ") or "42")
_
どのように機能しますか?
何も入力されなかった場合、raw_inputは空の文字列を返します。 python is False
bool("") -> False
。の空の文字列。演算子or
は最初のtrufy値を返します。この場合は_"42"
_です。 。
ユーザーは何でも入力できるため、これは洗練された入力検証ではありません。 10個のスペースシンボル(True
)。
次のようにできます:
>>> try:
input= int(raw_input("Enter the inputs : "))
except ValueError:
input = 0
Enter the inputs :
>>> input
0
>>>
最初に文字列を入力してから、長さ0と有効な数を確認できます。
input_str = raw_input("Ender the number:")
if len(input_str) == 0:
input_number = DEFAULT
else:
try:
input_number = int(input_str)
except ValueError:
# handle input error or assign default for invalid input
方法の1つは-
default = 0.025
input = raw_input("Enter the inputs : ")
if not input:
input = default
別の方法は-
input = raw_input("Enter the inputs : ") or 0.025
上記の答えのほとんどは正しいですが、Python 3.7の場合、デフォルト値を設定するためにできることは次のとおりです。
user_input = input("is this ok ? - [default:yes] \n")
if len(user_input) == 0 :
user_input = "yes"
そのために click
library を使用することもできます。これは、コマンドラインインターフェイスに多くの便利な機能を提供します。
import click
number = click.Prompt("Enter the number", type=float, default=0.025)
print(number)
入力の例:
Enter the number [0.025]:
3 # Entered some number
3.0
または
Enter the number [0.025]:
# Pressed enter wihout any input
0.025