Python 遍历列表和逐个遍历对象之间的区别?

Python 遍历列表和逐个遍历对象之间的区别?,python,loops,Python,Loops,我开始通过Codecademy学习Python,并思考了一个练习,该练习要求我编写一个程序来确定一个数字是否是质数 当我的原始代码不起作用时,我做了一些研究,发现代码确实起作用。我查看了这两个对象,它们之间似乎没有什么区别,除了在工作代码使用while循环逐个遍历对象时,我使用for循环遍历一个列表之外,所以我想知道是否确实如此(如果是,会有什么区别)或者如果我的代码有逻辑错误 对不起,下面是一段文字,我将提供我的代码(不起作用)和答案代码(起作用) 我的代码在这里: def prime

我开始通过Codecademy学习Python,并思考了一个练习,该练习要求我编写一个程序来确定一个数字是否是质数

当我的原始代码不起作用时,我做了一些研究,发现代码确实起作用。我查看了这两个对象,它们之间似乎没有什么区别,除了在工作代码使用while循环逐个遍历对象时,我使用for循环遍历一个列表之外,所以我想知道是否确实如此(如果是,会有什么区别)或者如果我的代码有逻辑错误

对不起,下面是一段文字,我将提供我的代码(不起作用)和答案代码(起作用)

我的代码在这里:

    def primer(x):
        if x < 2:
            return False

        elif x > 2:
            for n in range(2, x):
                if x % n == 0:
                    return False
                else:
                    return True
        else: 
            return True
def底漆(x):
如果x<2:
返回错误
elif x>2:
对于范围(2,x)内的n:
如果x%n==0:
返回错误
其他:
返回真值
其他:
返回真值
在这里工作的代码是:

    def is_prime(x):
        if x < 2:
            return False

        elif x > 2:
            n = 2
            while n < x:
                if x % n == 0:
                    return False
                n += 1
            else:
                return True
        else:
            return True
def为素数(x):
如果x<2:
返回错误
elif x>2:
n=2
当n

感谢您抽出时间阅读本文,祝您度过愉快的一天。

在尝试所有可能的除数之前,如果您发现数字不可除,请立即返回
True
。删除
else
块:

def primer(x):
    if x < 2:
        return False

    else:
        for n in range(2, x):
            if x % n == 0:
                return False
            # else:
            #     return True
        return True
def底漆(x):
如果x<2:
返回错误
其他:
对于范围(2,x)内的n:
如果x%n==0:
返回错误
#其他:
#返回真值
返回真值

Aha,是的,确实有效,看起来我犯了一个相当愚蠢的错误。谢谢。显示每个代码块的结果抱歉,这里很新。我的问题得到了回答,但从现在起我会记住这一点。