Python 3.x 如何从输出中排除引号?
我需要编写一个函数Python 3.x 如何从输出中排除引号?,python-3.x,function,primes,Python 3.x,Function,Primes,我需要编写一个函数is_prime,以确定n是否为素数,如果不是,我必须以最小的可能因子开始显示因子 它可以工作,但是我需要在输出中排除引号,否则我的家庭作业得不到任何分数 def is_prime(n): pass if n > 1: for i in range(2,n): if (n % i) == 0: return(n,'is not a prime number', '(', i,'*',n//
is_prime
,以确定n
是否为素数,如果不是,我必须以最小的可能因子开始显示因子
它可以工作,但是我需要在输出中排除引号,否则我的家庭作业得不到任何分数
def is_prime(n):
pass
if n > 1:
for i in range(2,n):
if (n % i) == 0:
return(n,'is not a prime number', '(', i,'*',n//i,'=', n, ')')
break
else:
return(n,'is prime')
else:
return(n,'is not a prime number')
print(is_prime(12))
您的问题是您正在返回列表。当您应该返回字符串时,您应该使用str.format()返回字符串: 另外,您不需要“break”或“else”,因为当您执行return语句时,函数结束 因此,如果您找到一个n的除数,则进入return语句,之后的代码不会执行
def is_prime(n):
if n > 1:
for i in range(2, n):
if (n % i) == 0:
return('{n} is not a prime number ({i} * {q} = {n})'.format(n=n, i=i, q=n//i))
return('{n} is prime'.format(n=n))
return('{n} is not a prime number'.format(n=n))
print(is_prime(15))
不要在return语句中使用逗号(,),而是将其替换为加号(+),并使用str()函数将所有数值转换为字符串
def is_prime(n):
pass
if n > 1:
for i in range(2,n):
if (n % i) == 0:
return(str(n) + ' is not a prime number ' + '(' + str(i) + '*' +
str(n//i) + '=' + str(n) + ')')
break
else:
return(n + 'is prime')
else:
return(n + 'is not a prime number')
print(is_prime(12))
你能告诉我们输出是什么样子的吗。您了解为函数返回的数据类型吗?