编写python程序,定义一个自己的myMap函数,实现与内置函数map类似的功能。要求以输入一串整数,进行奇数、偶数分类输出作为示例。 示例输入:1 3 5 6 8 输出示例: 奇数有3个,分别为:1 3 5 偶数有2个,分别为:6 8
时间: 2024-06-02 21:13:20 浏览: 15
好的,我可以回答这个问题。以下是实现myMap函数的Python代码:
def myMap(func, *iterables):
result = []
for args in zip(*iterables):
result.append(func(*args))
return result
def classify(num):
if num % 2 == 0:
return '偶数'
else:
return '奇数'
# 示例输入
input_str = input('请输入一串整数,用空格隔开:')
input_list = list(map(int, input_str.split()))
# 使用myMap函数进行分类输出
odd_list = myMap(classify, input_list)
even_list = myMap(classify, input_list)
odd_count = odd_list.count('奇数')
even_count = even_list.count('偶数')
print('奇数有%d个,分别为:%s' % (odd_count, ' '.join(str(x) for x in input_list if x % 2 == 1)))
print('偶数有%d个,分别为:%s' % (even_count, ' '.join(str(x) for x in input_list if x % 2 == 0)))
相关问题
编写python程序。定义一个自己的myMap函数,实现与内置函数map类似的功能。要求以输入一串整数,进行奇数、偶数分类输出作为示例。 示例输入:1 3 5 6 8 输出示例: 奇数有3个,分别为:1 3 5 偶数有2个,分别为:6 8
好的,我能回答你的问题。以下是你需要的Python程序:
def myMap(func, iterable):
result = []
for i in iterable:
result.append(func(i))
return result
def classify(num):
if num % 2 == 0:
return "偶数"
else:
return "奇数"
if __name__ == '__main__':
nums = input("请输入一串整数,以空格分隔:").split()
nums = list(map(int, nums))
results = myMap(classify, nums)
odd_nums = [num for num in nums if num % 2 != 0]
even_nums = [num for num in nums if num % 2 == 0]
print("奇数有{}个,分别为:{}".format(len(odd_nums), " ".join(list(map(str, odd_nums)))))
print("偶数有{}个,分别为:{}".format(len(even_nums), " ".join(list(map(str, even_nums)))))
请注意,此程序与内置函数map类似,但是比map更灵活,因为它可以输入任何函数(不仅仅是函数名)作为参数func。在这个示例中,我们定义了一个classify函数,用于对输入的数字进行分类。然后,我们calls myMap函数,将classify函数作为第一个参数传递给myMap函数,将整数列表nums作为第二个参数传递给myMap函数。最后,我们使用列表推导式,将奇数和偶数数字分别存储在odd_nums和even_nums列表中,并且使用.format和.join方法将结果呈现给用户。
编写python程序。定义一个自己的myMap函数,实现与内置函数map类 似的功能 要求以输入一串整数,进行奇数、偶数分类输出作为示例。 示例输入:1 3 5 6 8 输出示例: 奇数有3个,分别为:1 3 5 偶数有2个,分别为:6 8
好的,我能够回答这个问题。以下是一个示例程序:
```
def myMap(func, lst):
result = []
for i in lst:
result.append(func(i))
return result
def oddOrEven(n):
if n % 2 == 0:
return '偶数'
else:
return '奇数'
input_str = input('请输入一串整数,用空格分隔:')
input_list = input_str.split()
input_num = list(map(int, input_list))
output = myMap(oddOrEven, input_num)
odd_list = [str(input_num[i]) for i in range(len(input_num)) if output[i] == '奇数']
even_list = [str(input_num[i]) for i in range(len(input_num)) if output[i] == '偶数']
print('奇数有{}个,分别为:{}'.format(len(odd_list), ' '.join(odd_list)))
print('偶数有{}个,分别为:{}'.format(len(even_list), ' '.join(even_list)))
```
你可以将上面的代码复制到你的PyCharm或者Jupyter Notebook中运行,然后输入一串整数,程序会输出相应的结果。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)