Skip to main content
 首页 » 编程设计

Python 编程帮助

2025年05月04日16unruledboy

#!/usr/bin/env python 
import math 
 
 
 
def primeTest(isPrime): 
print('    {0}=testnum'.format(testnum)) 
if testnum%2 == 0 and testnum != 2: #if divisible by 2 and not 2 
    isPrime = False 
    print('{0} a'.format(isPrime)) 
    print('a')   
else: 
    numroot = round(math.sqrt(testnum)) 
    i = 2 
    while i <= numroot: 
        if testnum%i == 0: 
            isPrime = False 
        i+=1 
    print('b') 
 
 
global testnum 
global isPrime 
testnum=2 
numPrimesSoFar=0 
reqPrimes=int(input('How many primes would you like? \n')) 
while numPrimesSoFar < reqPrimes:    
isPrime=True 
primeTest(isPrime) 
print(isPrime) 
if isPrime: 
    print('    {0}'.format(isPrime)) 
    print('    {0}'.format(testnum)) 
    numPrimesSoFar+=1 
testnum+=1 

(对于格式我不太确定为什么它不能正常工作,但假设我的制表符格式正确) 现在输出这个:

    How many primes would you like?  
4 
    2=testnum 
b 
True 
    True 
    2 
    3=testnum 
b 
True 
    True 
    3 
    4=testnum 
False a 
a 
True 
    True 
    4 
    5=testnum 
b 
True 
    True 
    5 

好吧...那么为什么当我将它设置为 false 时 isPrime 仍然是 true?

编辑:好吧……这就是你们在谈论的内容吗?

请您参考如下方法:

global isPrime 需要在您分配给 isPrime 的函数内。