2016-10-09 44 views
0

我新的編程,我需要知道,如果它可以打印一個字符串,如「這是一個素數」如果沒有結果我如何檢查是否數是素數,如果沒有divisibles

n = int(input("Digite um número inteiro positivo: ")) 
for i in range(2,n): 
    if n % i == 0: 
     print(i) 

例如,如果我輸入5沒有出現

如果我輸入8會顯示2和4

我如何添加打印(N「是一個素數」),如果沒有顯示出來在節目中? 我不能爲

+2

您需要爲此添加一個標誌,然後再進行檢查。執行留給你。 – usr2564301

回答

2
n = int(input("Digite um número inteiro positivo: ")) 
printed = False 
for i in range(2,n): 
    if n % i == 0: 
     print(i) 
     printed = True 
if not printed: 
     print(n,"is a prime number") 

找到任何命令它使用一個「標誌」變量顯示,如果是印刷的值。

+0

謝謝你就是我想要的!,我也喜歡Pryom的解決方式 – Baitalon

0
def isPrime(num): 
    for i in range(2, num): 
     if num % i == 0: 
      return False 
    return True 

def getFactors(n): 
    myList = [] 
    for i in range(2, n): 
     if n % i == 0: 
      myList.append(i) 
    return myList 

num = 17 
num2 = 20 
if isPrime(num): 
    print("prime") 
else: 
    print(getFactors(17)) 
if isPrime(num2): 
    print("prime") 
else: 
    print(getFactors(num2)) 
+0

固定它....... – Pete

0

這樣做的一種粗略方法是添加類似於計數器的東西來檢查因素的數量。

n=int(input("Digite um número inteiro positivo:")) 
counter=0 
for i in range(2,n): 
    if(n%i==0): 
     print(i) 
     counter+=1 
if(counter==0): 
    print "n is prime" 
0

您還可以設置循環的範圍,只檢查從2到n // 2的值,因爲任何過去的檢查素數都是不必要的。

def isPrime(n): 
    for i in range(2,**n//2**): 
     if n % i == 0: 
      return 'This number is not Prime.' 
    else: 
     return 'This number is Prime.' 


def main(): 
    user = int(input('Enter a number to check primeness: ')) 
    print(isPrime(user)) 

main() 
相關問題