用函数统计列表中的奇数个数

请写一个函数find_odd,参数是1个列表,请返回该列表中出现奇数次的元素

比如 find_odd([1, 1, 2, -2, 5, 2, 4, 4, -1, -2, 5]) ➞ -1

def count(listnum):
new_num =[]
for i in listnum:
if i%2 ==1:
new_num.append(i)
leg_new_num =len(new_num)
return leg_new_num

if name == ‘main’:
xx =count([45,3,78,89,22,49,51,21,44])
print(xx)

def find_odd(lists):
newdir =[]
for i in lists:
if lists.count(i) % 2 != 0:
if i not in newdir:
newdir.append(i)
return newdir

ww =find_odd([20, 1, 1, 2, 2, 3, 3, 5, 5, 4, 20, 4, 5])
print(ww)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用全局变量来编一个函数统计数组奇数和偶数的个数。具体实现如下: 1. 定义两个全局变量,odd_count和even_count,分别用于记录数组奇数和偶数的个数,初始值都为0。 2. 编一个函数,接受一个整型数组作为参数,遍历数组的每个元素,判断其是否为奇数或偶数,如果是奇数,则将odd_count加1,如果是偶数,则将even_count加1。 3. 函数执行完毕后,返回一个包含奇数和偶数个数的元组,可以使用Python的元组类型来实现。 下面是具体的代码实现: ```python # 定义全局变量 odd_count = 0 even_count = 0 # 统计奇数和偶数的个数 def count_odd_even(arr): global odd_count, even_count for num in arr: if num % 2 == 0: even_count += 1 else: odd_count += 1 return (odd_count, even_count) # 测试代码 arr = [1, 2, 3, 4, 5, 6, 7, 8, 9] result = count_odd_even(arr) print("奇数个数:", result[0]) print("偶数个数:", result[1]) ``` 运行结果如下: ``` 奇数个数: 5 偶数个数: 4 ``` 注意,在函数内部使用全局变量时,需要使用global关键字声明,否则Python会将其视为局部变量。此外,全局变量的使用应该尽量避免,因为它会增加代码的复杂度和不可预测性。 ### 回答2: 编一个函数统计数组奇数和偶数的个数,需要获取数组元素,判断元素是否为奇数或偶数,然后统计奇数和偶数的个数,最后返回结果。 全局变量可以在函数内部和外部都使用,因此可以定义两个全局变量,分别用于统计奇数和偶数的个数,然后在函数内部进行操作。具体步骤如下: 1.定义全局变量 使用全局变量需要在函数外部先定义变量,比如: int oddCount = 0; //奇数个数 int evenCount = 0; //偶数的个数 2.编统计函数一个函数,用于统计数组奇数和偶数的个数函数需要传递一个整型数组和数组长度作为参数。其函数内部使用循环遍历数组,判断数组元素奇数还是偶数,并累加计数器。具体代码如下: void count(int arr[], int len){ for(int i=0;i<len;i++){ if(arr[i]%2 == 1){ //判断奇数 oddCount++; }else{ //偶数 evenCount++; } } } 3.调用函数并输出结果 在主函数内部调用统计函数,并输出奇数和偶数的个数。具体代码如下: int main(){ int arr[] = {1,2,3,4,5,6,7,8,9}; //测试数组 int len = sizeof(arr)/sizeof(arr[0]); //获取数组长度 count(arr,len); //调用统计函数 cout<<"奇数个数:"<<oddCount<<endl; //输出奇数个数 cout<<"偶数的个数:"<<evenCount<<endl; //输出偶数的个数 return 0; } 4.完整代码 下面是完整的代码: #include<iostream> using namespace std; int oddCount = 0; //奇数个数 int evenCount = 0; //偶数的个数 void count(int arr[], int len){ for(int i=0;i<len;i++){ if(arr[i]%2 == 1){ //判断奇数 oddCount++; }else{ //偶数 evenCount++; } } } int main(){ int arr[] = {1,2,3,4,5,6,7,8,9}; //测试数组 int len = sizeof(arr)/sizeof(arr[0]); //获取数组长度 count(arr,len); //调用统计函数 cout<<"奇数个数:"<<oddCount<<endl; //输出奇数个数 cout<<"偶数的个数:"<<evenCount<<endl; //输出偶数的个数 return 0; } ### 回答3: 在编统计数组奇数和偶数的个数函数之前,首先需要了解全局变量的概念和用法。全局变量是指在程序所有函数都可以使用的变量,它的生命周期与整个程序的运行时间相同。全局变量定义在函数外,在函数内部也可以使用,但需要使用关键字“extern”进行声明。 利用全局变量编函数统计数组奇数和偶数的个数可以如下实现: ```C++ #include <stdio.h> int even = 0; // 全局变量:偶数个数 int odd = 0; // 全局变量:奇数个数 void Count(int* arr, int len) { for (int i = 0; i < len; i++) { if (arr[i] % 2 == 0) { even++; // 统计偶数个数 } else { odd++; // 统计奇数个数 } } } int main() { int arr[] = {1, 2, 3, 4, 5, 6}; int len = sizeof(arr) / sizeof(arr[0]); Count(arr, len); printf("偶数个数:%d\n", even); printf("奇数个数:%d\n", odd); return 0; } ``` 在上述代码,定义了全局变量“even”和“odd”分别表示偶数个数奇数个数函数“Count”是统计数组奇数和偶数个数函数,内部使用循环遍历数组每个元素,如果元素能被2整除,则计数变量“even”加1,否则计数变量“odd”加1。在main函数,调用“Count”函数统计数组奇数和偶数的个数,最后输出结果。 需要注意的是,全局变量的使用需要慎重,尽量避免在多个函数修改同一个全局变量,防止程序的可维护性降低。因此,在实际开发,除非有必要,尽量使用局部变量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值