实现一个函数cal(),重载该函数。传入整数时,返回其保留一位小数的结果,传入单精度浮点数时,保留4位数,传入双精度浮点数时,保留七位小鼠,保留小数方法为四舍五入。依次输入三个空格分隔的整数,单精度浮点数和双精度浮点数,依次输出cal()的返回值,以一个空格隔开。
时间: 2023-11-10 20:06:20 浏览: 79
好的,我可以帮你写这个函数。以下是实现代码:
```python
def cal(num):
if isinstance(num, int):
return round(num, 1)
elif isinstance(num, float):
if num == round(num):
return round(num, 1)
else:
return round(num, 4)
elif isinstance(num, complex):
return round(num.real, 7) + round(num.imag, 7) * 1j
values = input().split()
int_num = int(values[0])
float_num = float(values[1])
double_num = float(values[2])
print(cal(int_num), end=' ')
print(cal(float_num), end=' ')
print(cal(double_num))
```
注意,这个函数实现了对整数、单精度浮点数和双精度浮点数的重载。同时,对于单精度浮点数和双精度浮点数的保留小数位数进行了判断。最后,根据题目要求依次输入三个空格分隔的整数、单精度浮点数和双精度浮点数,并输出cal()的返回值,以一个空格隔开。
阅读全文