Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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,用python编写一个包含以下元素的列表num:num=[3,21,5,6,14,8,14,3]。编写一个程序,将内容与可被7整除的下一个值交换,使结果列表如下所示:num=[3,5,21,6,8,14,3,14] 这是我的密码 num = [3, 21, 5, 6, 14, 8, 14, 3] for i in range(len(num)-1): if num[i] % 7 == 0: num[i + 1], num[i] = num[i], num[i + 1] p

用python编写一个包含以下元素的列表num:num=[3,21,5,6,14,8,14,3]。编写一个程序,将内容与可被7整除的下一个值交换,使结果列表如下所示:num=[3,5,21,6,8,14,3,14]

这是我的密码

num = [3, 21, 5, 6, 14, 8, 14, 3]
for i in range(len(num)-1):
    if num[i] % 7 == 0:
        num[i + 1], num[i] = num[i], num[i + 1]
print(num)
输出

[3,5,6,14,8,14,3,21]

在第一次交换之后,if语句一次又一次地检查21,与所需的输出相反,它被推到列表的末尾。我还必须检查其他可被7整除的元素,并将它们与后续元素交换。
每次交换后是否可以跳过一次迭代?

您可以通过如下方式分配值来交换值:

a, b = b, a

您可以使用for循环轻松完成此练习,每次检查下一个数字是否可以被7整除,如果可以,请使用此代码交换它们

那么您尝试了什么?请不要要求完整的代码。当你被困在某个地方时,展示你的尝试并寻求帮助。他甚至没有要求完整的代码。只是陈述一个问题。这么低的工作量。@ChristianSloper,不管怎么说,它是重复的:……使用调试器来逐步检查代码。这不是问题的答案。@MayankPorwal为什么?它并没有确切地说明如何使用它,但这基本上是asnwer…这似乎更像是一个建议/评论,而不是一个答案。在我看来,当你回复某人的帖子时,至少要彻底解决这个问题。不要只是提建议。有这样的注释。如果我做这种交换,它会显示一个索引错误。在这一行中。。。num[i+1],num[i]=num[i],num[i+1]索引器:列表索引超出范围
num = [3, 21, 5, 6, 14, 8, 14, 3]
num.reverse()
for i in range(len(num)-1):
    if num[i] % 7 == 0:
        num[i - 1], num[i] = num[i], num[i - 1]
num.reverse()
print("The required answer :", num)