在 for 循环中断后打印

Printing after a break in a for loop

我正在尝试找出如何为此打印最后一行代码 - 无论它是否为质数。我似乎无法使用我拥有的代码打印它。任何帮助,将不胜感激。谢谢!!

number = int(input("Enter a positive number to test: "))

while number <= 0:
    print ("Sorry, only positive numbers. Try again.")
    number = int(input("Enter a positive number to test: "))

test = 2

number1 = number - 1
for x in range (0, number1):
    trial = number % test
    if trial != 0:
        print (test, "is NOT a divisor of", number, "...")
        break
        print (number, "is a prime number!")
    else:
        print (test, "is a divisor of", number, "...")
        break
        print (number, "is not a prime number!")
    test = test + 1

break语句结束分支的执行。永远不会达到以下 print 语句。

要获得正确的功能,请使用布尔值并在最后执行检查:

is_prime = True

for x in range (2, number):
    trial = number % x
    if trial != 0:
        print (x, "is NOT a divisor of", number, "...")
    else:
        is_prime = False
        print (x, "is a divisor of", number, "...")

if is_prime:
    print (number, "is a prime number!")
else:
    print (number, "is not a prime number!")

您也不需要使用变量 test。直接使用您范围内的 x

查看关键字的 Python reference 了解更多信息。

语法:

if expression:

    statement(s)

else:

    statement(s)

它执行所有带有 break 的语句,所以 print 永远不会发生...