Python 变量输出导致意外结果

Python 变量输出导致意外结果,python,variables,Python,Variables,我很难理解自己的代码: 我的挑战: 作为当前代码的结果,变量varA=3未完成 我希望瓦拉保持不变 我的问题: 有人能解释一下为什么瓦拉在变吗? aka代码的哪一部分使varA发生更改 当你说 对于listA中的varA: 如果varA==listA[listA_i]: 附属物 您每次都在遍历listA设置varA。因此,当您完成迭代时,varA将保存listA的最后一个值,在本例中为3。如果不希望发生这种情况,请将for循环中变量的名称更改为其他名称 对于listA中的num: 如果num==

我很难理解自己的代码:

我的挑战:

作为当前代码的结果,变量varA=3未完成 我希望瓦拉保持不变

我的问题:

有人能解释一下为什么瓦拉在变吗? aka代码的哪一部分使varA发生更改

当你说

对于listA中的varA: 如果varA==listA[listA_i]: 附属物 您每次都在遍历listA设置varA。因此,当您完成迭代时,varA将保存listA的最后一个值,在本例中为3。如果不希望发生这种情况,请将for循环中变量的名称更改为其他名称

对于listA中的num: 如果num==listA[listA_i]: 附属物
建议在中为listA中的varA使用另一个名称:而不是varA。它会改变你的varA valueWall代码,不确定你想做什么以及你的问题在哪里。为什么你要用一个WHILE循环来创建一个你从来没有增加过的索引列表?另外,break应该完成什么呢?因为对于列表中的varA@suneha&@martineau,我想我误解了你的解决方案;将varA重命名为varAaA或varXYZ后,结果相同。我将尝试另一个变量示例:保留varA,ad varAaA,将varA替换为varAaA,替换列表中的varA@Patrick why break?那里有一些代码,只是它意外地循环。所以我用休息来解决问题,我的目标是:谢谢你,萨夫万。你向我解释了我的想法哪里错了。进一步了解Python。如果答案正确并且你接受了,请按问题旁边的灰色勾号,表示答案正确。
# base variables
listA = [0,1,3,0,1,3]
listA_max = max(listA)
listA_min = min(listA)
# length of listA
listALen = len(listA)

varA = min(listA)
listB = []
# for check: append varA if not in listA
listC = []

# index no listA
listA_i = 0

print ('checks')
print ('listA_min =' + str(listA_min))
print ('listA_max =' + str(listA_max))
print ('varA = ' + str(varA))
print (' ')

while listA_i < listALen and varA <= listA_max:
    for varA in listA:
        if varA == listA[listA_i]:
            listB.append(varA)
    else:
        break

print (' ')
print ('results ')
print ('varA = ' + str(varA))
print ('listA_i = ' + str(listA_i))
print ('listB = ' + str(listB))