实现sum_int_float函数。 将输入列表中的整数或者浮点数求和,并舍弃其它类型的数据,返回(N, sum),其中N为列表中数字的个数,sum为它们的和 如list为空或者其中没有整数或者浮点数,返回(0, None)
时间: 2024-05-04 08:15:45 浏览: 43
没问题,我能够实现sum_int_float函数。
```python
def sum_int_float(lst):
numbers = []
if not lst: # list 为空
return 0, None
for item in lst:
if isinstance(item, int) or isinstance(item, float):
numbers.append(item)
if not numbers: # list 中没有整数或浮点数
return 0, None
num_sum = sum(numbers)
num_count = len(numbers)
return num_count, num_sum
```
该函数首先创建了一个空列表 numbers,然后遍历输入列表,对于列表中的每个 item,如果它是一个整数或者浮点数,就将它加入 numbers 中。
接着判断 numbers 是否为空,如果是,那么返回 (0, None)。
最后,如果 numbers 不为空,就使用 Python 内置函数 sum 来计算 numbers 中所有数的和,使用 len 函数来计算 numbers 的长度,然后返回数字个数和它们的和。
相关问题
C++定义2个函数int_sum(), float_sum(),分别实现两个整数或浮点数的和,用函数指针fun_p1和fun_p2来指向这两个函数,并用函数指针调用这两个函数来实现两个数的和。
在C++中,你可以定义两个函数`int_sum()`和`float_sum()`,每个函数接收两个相应的数据类型作为参数并返回它们的和。然后,可以使用函数指针来存储对这些函数的引用。以下是具体的步骤:
```cpp
// 定义两个函数
double int_sum(int a, int b) {
return a + b;
}
double float_sum(float a, float b) {
return a + b;
}
// 定义函数指针类型
typedef double (*FunctionPointer)(double, double);
// 函数指针变量,用于指向正确的函数
FunctionPointer fun_p1; // 对于int_sum
FunctionPointer fun_p2; // 对于float_sum
// 分配内存并设置函数指针
fun_p1 = &int_sum; // 将int_sum的地址赋给fun_p1
fun_p2 = &float_sum; // 将float_sum的地址赋给fun_p2
// 使用函数指针调用对应的功能
int int_result = static_cast<int>(*fun_p1(2, 3)); // 注意这里需要转换类型
float float_result = *fun_p2(2.5f, 3.7f); // 直接调用无需类型转换
实现isNum(num)函数,如果num属于整数、浮点数或复数的类型,则返回True,否则返回False。
好的,这是一个编程问题,那我可以回答。以下是实现isNum函数的Python代码:
```python
def isNum(num):
if type(num) in [int, float, complex]:
return True
else:
return False
```
你可以运行这个函数来测试不同类型的数值。
阅读全文