首先,有一个内置函数用于
float
检查
integer
还有
int()
去掉小数点。
>> float(0.5).is_integer()
>> False
>> float(3.0).is_integer()
>> True
>> int(float(5.5))
>> 5
>> int(float(3))
>> 3
其次,如果你只是想
print
, the
return
关键字是不必要的。
def calculator():
num1 = float(input('First number: '))
operator = input('+, -, / or * ? ')
num2 = float(input('Second Number: '))
num1 = int(num1) if num1.is_integer() else num1
# This line is equivalent to:
# if num1.is_integer():
# num1 = int(num1)
# else:
# num1 = num1
num2 = int(num2) if num2.is_integer() else num2
if operator == '+':
result = num1 + num2
result = int(result) if result.is_integer() else result
print(num1, '+', num2, '=', result)
elif operator == '-':
...
calculator()