Python 为什么我的功能被忽略了?
在控制台中,我的程序打印第一个问题,输入后,打印第二个问题并终止。它似乎跳过了该函数。很明显我做错了什么事,任何帮助都将不胜感激。那个while循环仍然感觉不对劲Python 为什么我的功能被忽略了?,python,string,input,int,Python,String,Input,Int,在控制台中,我的程序打印第一个问题,输入后,打印第二个问题并终止。它似乎跳过了该函数。很明显我做错了什么事,任何帮助都将不胜感激。那个while循环仍然感觉不对劲 def Prime(n): i = n - 1 while i > 0: if n % i == 0: return False print("This number is not prime.") else:
def Prime(n):
i = n - 1
while i > 0:
if n % i == 0:
return False
print("This number is not prime.")
else:
i = i - 1
return True
print("This number is prime.")
def Main():
n = int(input("What is the number you'd like to check?"))
Prime(n)
answer2 = input("Thank you for using the prime program.")
Main()
您的函数在打印输出之前返回,因此任何东西都不会到达控制台。在返回前考虑打印:
def Prime(n):
i = n - 1
while i > 0:
if n % i == 0:
print("This number is not prime.") # Here
return False
else:
i = i - 1
print("This number is prime.") # And here
return True
这并没有被忽视。但如果你输入一个素数,它会在打印任何东西之前返回。我做了所有这些,但现在它返回的所有东西都不是素数。就像哈利说的,我显然把逻辑搞错了。