我正在尝试使用这些功能查找素数。当我归还时;输出打印;
git checkout feature
git fetch
git rebase origin/develop
和我输入的数字
git push --force
# that will update your existing PR, or make a new one
答案 0 :(得分:0)
您的函数正在执行三件事:
要使其按自己的意愿做,请返回人类友好的输出而不是输入。
def my_function(number):
if number == 1:
result = "Not a Prime Number."
elif number == 2:
result = "Prime Number"
for i in range(2, number):
if number % i == 0:
result = "Not a Prime Number"
break
elif number % i != 0:
result = "Prime Number"
break
return result
这很好,但是如果函数只做一件事-在这种情况下测试素数-而不是两次-测试素数 并为人类读者格式化结果,则通常它更可重用。
我们可以修改函数以返回布尔值-True
或False
-并在函数外部进行输出格式化。
def my_function(number):
if number == 1:
result = False
elif number == 2:
result = True
for i in range(2, number):
if number % i == 0:
result = False
break
elif number % i != 0:
result = True
break
return result
>>> number = 1
>>> print(number, 'is', 'a prime number' if my_function(number) else 'not a prime number')
1 is not a prime number
>>> number = 2
>>> print(number, 'is', 'a prime number' if my_function(number) else 'not a prime number')
2 is a prime number
最后,您的逻辑有误。如所写,循环仅运行一次,因为两个测试之一将始终成功。
答案 1 :(得分:-1)
print(my_function(number))
在此语句中,您将打印从函数my_function
返回的内容,并从my_function
返回输入数字。
代替上面的语句,只需直接使用如下所示的调用my_function即可:
number=int(input("Please enter the number :"))
def my_function(number):
if number==1:
print("Not a Prime Number.")
elif number==2:
print("Prime Number")
for i in range(2,number):
if number%i==0:
print("Not a Prime Number")
break
elif number%i!=0:
print("Prime Number")
break
return number ### You are returning the number here.
my_function(number) #Just don't print the return value here
只需不打印从my_function
返回的值,它就可以解决您的问题。