不太懂这题目为什么是true,python是和c,c++不同吗,那个应该是0/1
一个题发那么多遍干啥
你为什么不信编译器而要信教材呢
教材会印错,编译器不会错的
缩进不对,然后返回True那里True写错了,导致程序报错,然后调用函数isPrime()那里函数名多写了个s。
修改如下:
参考链接:
def isPrime(n):
if n<=1:# 小于2的判定为不是素数,返回False
return False
# https://blog.csdn.net/weixin_44414948/article/details/111185107
# https://baike.baidu.com/item/%E8%B4%A8%E6%95%B0/263515
# 大于等于2的数,使用2到n-1区间的数来整除n
# 如果可以整除,则不是素数,返回False
# 这里2是特例,不进入循环,直接到下面返回True
for i in range(2,n):
#print("n=",n,",i=",i)
if n%i==0:
return False
# 如果2到n-1区间所有的数,都不能整除n
# 则n是素数,返回True
return True
n =eval(input(""))
#调用isPrime()函数,输出输入的数n是否是素数
print(isPrime(n))
True, 首字母要大写。最好与if对齐。for及其代码块,统一缩进4个空格,是isPrime中的一部分。整个代码的缩进关系与你图中的保持一致。
47是质数。isPrime方法里面,循环它的每一个因子,有因子能整除它,返回False不是质数,否则等循环结束,返回True是质数。
true是个字符串,返回的就是字符串。将true修改为True试下。
不知道你这个问题是否已经解决, 如果还没有解决的话: