gpt4 book ai didi

Python 序列(元组)

转载 作者:行者123 更新时间:2023-11-28 22:24:31 26 4
gpt4 key购买 nike

编写一个函数 square_odd_terms 接受一个元组作为参数并返回一个元组中奇数项的平方的元组。即使是条款也将保持不变。

我的尝试是:

def square_odd_termms(tpl):
for i in (tpl):
if i%2==0:
return i
else:
return i**2
return tuple(i)

有什么帮助吗?

尝试 2:

def square_odd_terms(tp1):
for num in tp1:
if num%2 != 0:
return (num**2)
else:
return (num)
return tuple(num)

最佳答案

如果数字是奇数平方,则使用生成器理解,否则就保持数字不变。

def square_odd_termms(tpl):
return tuple((num**2 if num%2 else num for num in tpl))

>>> square_odd_termms((1,2,3,4,5,6))
(1, 2, 9, 4, 25, 6)

尝试 2 的答案:您不应该返回“if”和“else”条件中的值,这些值会立即停止函数流。而是声明一个空数组,为该数组分配这些值并在最后返回

def square_odd_terms(tp1):
result = []
for num in tp1:
if num%2 != 0:
result.append(num**2)
else:
result.append(num)
return tuple(result)

关于Python 序列(元组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46313638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com