我是编程的新手,我需要知道如果没有结果我是否可以打印像“这是一个素数”这样的字符串
n = int(input("Digite um número inteiro positivo: "))
for i in range(2,n):
if n % i == 0:
print(i)
例如,如果我输入5 Nothing show up
如果我键入8,则会显示2和4
如果程序中出现NOTHING,如何添加打印件(n,“是素数”)? 我找不到任何命令
答案 0 :(得分: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")
这使用"标志"变量以显示是否打印了值。
答案 1 :(得分: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))
答案 2 :(得分: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"
答案 3 :(得分: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()