#!/usr/bin/env python3
is_balance_not_float = True
print('Welcome To The Balance Tracker!')
while (is_balance_not_float):
try:
balance = float(input('Enter Your Starting Balance: '))
except ValueError:
print("You are suppose to enter a number. ")
else:
is_balance_not_float = False
print("Balance : %s" % balance)
balance = None
while balance is None:
try:
balance = float(input('Enter Your Starting Balance: '))
except Exception:
print('Balance must be a (floating point) number')
print('Welcome To The Balance Tracker!')
balance = None
while balance is None:
try:
balance = float(input('Enter Your Starting Balance: '))
except ValueError:
print ("HEY! '{}' is not a float!".format(balance))
你可以试试
最好的做法是尝试将输入转换为浮点,如果失败,则再试一次。失败的原因可能包括无法转换为float的字符串,或stdin上的EOF。在
例如:
有趣的是,如果用户点击Control-C,它会引发
KeyboardInterrupt
,这是一个Exception
的子类,not会被except捕获,并导致程序退出。在增加值错误将解决您的问题。在
这将引发一个异常,如果它不是float,while循环将不允许用户通过!在
希望有帮助!在
相关问题 更多 >
编程相关推荐