Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何编写一个函数平方\奇数\项?_Python_Python 3.x - Fatal编程技术网

Python 如何编写一个函数平方\奇数\项?

Python 如何编写一个函数平方\奇数\项?,python,python-3.x,Python,Python 3.x,编写一个函数square\u odd\u terms,该函数接受一个元组作为参数,并返回一个元组,元组中的奇数项为平方。甚至条款也将保持不变 例如,平方奇数项((1,2,3,4,5))返回(1,2,9,4,25)和平方奇数项((2,4,6,8,10))返回(2,4,6,8,10) 答覆格式: def square_odd_terms(tpl): # Fill in your code here 如何回答这个问题?如何修改上述代码以满足问题要求?正确答案是什么?在这里张贴家庭作业问题,嗯 以

编写一个函数
square\u odd\u terms
,该函数接受一个元组作为参数,并返回一个元组,元组中的奇数项为平方。甚至条款也将保持不变

例如,
平方奇数项((1,2,3,4,5))
返回
(1,2,9,4,25)
平方奇数项((2,4,6,8,10))
返回
(2,4,6,8,10)

答覆格式:

def square_odd_terms(tpl): # Fill in your code here
如何回答这个问题?如何修改上述代码以满足问题要求?正确答案是什么?

在这里张贴家庭作业问题,嗯

以下是解决此问题的一种方法:

  • 创建结果元组(空)
  • 使用循环遍历输入元组中的每个项
  • 检查tupleValue[i]是奇数还是偶数
  • 如果是偶数,只需将其添加到结果元组
  • 如果为奇数,则计算平方并添加到结果元组
  • 返回结果元组

快乐编码

您可以使用列表理解:

[ x**2 if x%2==1 else x   for x in tpl ]
但是,这将创建一个列表,而不是元组。要创建元组,可以转换结果:

tuple([ x**2 if x%2==1 else x   for x in tpl ])
或者首先简单地使用生成器表达式:

tuple( x**2 if x%2==1 else x   for x in tpl )
tuple( x**2 if x%2==1 else x   for x in tpl )