gpt4 book ai didi

python - 来自 edX MIT 类(class)的介绍性 Python 任务

转载 作者:太空宇宙 更新时间:2023-11-04 07:43:51 24 4
gpt4 key购买 nike

我最近开始在 edX 上的 MIT 类(class)中学习 Python。

但是,我在某些练习中遇到了一些麻烦。这是其中之一:

“编写一个名为 oddTuples 的过程,它以一个元组作为输入,并返回一个新的元组作为输出,其中复制输入元组的所有其他元素,从第一个开始。所以如果测试是元组 (' I', 'am', 'a', 'test', 'tuple'), 然后在这个输入上评估 oddTuples 将返回元组 ('I', 'a', 'tuple')。"

根据讲座,正确的代码如下:

def oddTuples(aTup):
'''
aTup: a tuple

returns: tuple, every other element of aTup.
'''
# a placeholder to gather our response
rTup = ()
index = 0

# Idea: Iterate over the elements in aTup, counting by 2
# (every other element) and adding that element to
# the result
while index < len(aTup):
rTup += (aTup[index],)
index += 2

return rTup

但是,我尝试用下面的代码以不同的方式自己解决它:

def oddTuples(aTup):
'''
aTup: a tuple

returns: tuple, every other element of aTup.
'''
# Your Code Here
bTup=()
i=0
for i in (0,len(aTup)-1):
if i%2==0:
bTup=bTup+(aTup[i],)
print(bTup)
print(i)
i+=1
return bTup

但是,我的解决方案不起作用,而且我无法理解原因(我认为它应该与导师提供的代码做的事情基本相同)。

最佳答案

我只想补充一点,这个问题的 pythonic 解决方案使用了具有步长的切片,并且是:

newTuple = oldTuple[::2]

oldTuple[::2] 的含义:获取 oldtuple 从开始(值被省略)到结束(被省略)的副本,spepwidth 为 2。

关于python - 来自 edX MIT 类(class)的介绍性 Python 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12920992/

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