gpt4 book ai didi

python - 质数函数

转载 作者:太空宇宙 更新时间:2023-11-04 01:49:26 26 4
gpt4 key购买 nike

我在 python 练习中遇到问题。我应该得到一个函数 is_prime(n): 来定义素数。该程序应提供 3 种类型的输出;1. n是乘法恒等式2. n 不是质数 (n * d = n)。3. n 是素数。

我在让 2. 正常工作时遇到问题我的输出是: 12不是素数。(2, '*', 6, '=', 12)

但应该是

12 不是质数 (2 * 6 = 12)。

我的代码;

def is_prime(n):
msg1 = "is the multiplicative identity."
msg2 = "is not a prime number."
msg3 = "is a prime."
if n == 1:
return str(n) + msg1

for d in range(2, n):
msg4 = (d, "*", n // d, "=", n)
pass
if (n % d) == 0:
return str(n) + " " + msg2 + str(msg4)

else:
return str(n) + " " + msg3

print(is_prime(12))

最佳答案

使用string formatting返回而不是连接。

这是使用 f string 格式:

return f'{n} {msg2} {msg4}'

方括号 {} 内的任何内容都将像标准 Python 一样进行评估,应该或将返回该值。它将自己转换为字符串,因此您不需要对其进行 str()

所有代码:

def is_prime(n):
msg1 = "is the multiplicative identity."
msg2 = "is not a prime number"
msg3 = "is a prime."
if n == 1:
return f'{n} {msg1}'
for d in range(2, n):
msg4 = f'({d} * {n // d} = {n})'
if (n % d) == 0:
return f'{n} {msg2} {msg4}.'
return f'{n} {msg3}'

print(is_prime(12))

关于python - 质数函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58381608/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com