擅长:python、mysql、java
<p>听起来你应该做一个函数来提示输入,转换成所需的类型,如果失败了,那么发出一条消息再试一次。然后可以为每个数据项调用此函数(而不是直接调用<code>input</code>)。例如:</p>
<pre><code>def get_input(prompt, type_=str):
while True:
try:
return type_(input(prompt))
except ValueError:
print(f"Bad input - type {type_.__name__} is needed - try again")
customerName = get_input("Customer Name: ")
L_Citrulline_Mallate = get_input("Amount of L-Citrulline: ", int)
L_Theanine = get_input("Amount of L-Theanine: ", float) / 1000
print(customerName, L_Citrulline_Mallate, L_Theanine)
</code></pre>
<p>如果您还想拒绝空字符串输入,那么您也可以对此进行测试。例如:</p>
<pre><code>def get_input(prompt, type_=str, allow_empty=False):
while True:
response = input(prompt)
if response == "" and not allow_empty:
print("You must enter something")
continue
try:
return type_(response)
except ValueError:
print("Bad input - type {} is needed - try again".format(type_.__name__))
customerName = get_input("Customer Name: ")
comment = get_input("Any comment?: ", allow_empty=True)
</code></pre>