python sum如果是素数

时间:2018-11-11 06:51:34

标签: python sum

我需要编写一个程序,用户输入数字并在用户输入0时停止,他们应该看到哪个数字是质数,并且仅将质数求和。

我写了它,但是即使数字不是素数也算在内。

pic

请告知

1 个答案:

答案 0 :(得分:1)

首先,您将定义放入while循环中,这不会破坏您的代码,但会大大降低其速度。 其次,您使用诸如if False之类的语句,该语句将始终返回False并且代码将无法运行

因此,不要使用if False来尝试if not prime(num),而是将else的另一半声明。您甚至不需要sum_of_primes = 0 +sum_of_primes,只需删除它即可,最后可以将if-else替换为:

if prime(num):
    sum_of_primes = sum_of_primes + num