hours,pay=map(float,input("Enter the numbers of hours and the salary/hour,separated by a space bar:").split())
def computepay(hours,pay):
if hours >40:
return ((pay*40)+((((hours-40)/2)+(hours-40))*pay))
if hours <=40:
return int(hours*pay)
if hours and pay != float:
print ("to bad")
print(computepay(hours,pay))
如果输入不是浮点数,我想在函数中打印否定消息。我怎么做?如您所见,我尝试了一些方法,但是没有用。
最佳答案
由于您正在使用float()
函数将输入转换为浮点数,因此当您稍后对其求值时,它们将始终是正确的类型-当然,除非输入无效。
在这种情况下,将引发异常。让我们在Python shell中尝试一下:
>>> float('foo')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: foo
因此,您需要做的是
try-except
ValueError
:values = input("Enter bla bla...").split()
try:
hours, pay = map(float, values)
except ValueError:
print "Wrong format!"
关于python - 如果我没有输入浮点数怎么打印,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41451350/