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))

你能告诉我们输出是什么样子的吗。您了解为函数返回的数据类型吗?