【问题标题】:Python - Getting prime numbers [duplicate]Python - 获取素数[重复]
【发布时间】:2014-04-08 23:51:36
【问题描述】:

我正在尝试制作一个程序,该程序将打印我传递给它的参数中的所有素数,到目前为止,我已经让 python 以 True 或 False 响应它是否是素数。

prime = []
prime_list = []
def check_prime(user_input):
    for x in range(2, user_input):
        if float(user_input) % x > 0:
            prime = True
        else:
            prime = False
            break
    print prime
check_prime(int(raw_input("get prime numbers up to: ")))

如果数字是否为素数,这是成功返回的程序(我认为)

我要做的是获取所有质数并将它们存储到一个列表中,然后在完成后将它们全部打印出来。我已经在这个程序中挑选了至少一个星期,我就是想不通。

请指点,没有完成版。

【问题讨论】:

  • 为什么是字典?这似乎不是一种明智的数据存储方式。
  • & 你想要做的是将它们存储在 list 而不是 dictionary 从你的代码中可以看出
  • 为什么在取模之前转换为float? ://
  • 没有必要检查所有小于该数的数的整除性。你只需要直到平方根。

标签: python python-2.7 numbers


【解决方案1】:

您创建了一个函数,该函数根据一个数是否为素数打印 True 或 False。

下一步是让它返回真或假。

这是一个不同测试的示例,您可以根据自己的需要进行调整。

def is_even(number):
    if number % 2 == 0:
       return True
    else:
        return False

$ is_even(6)
True
$ answer = is_even(6)
$ print(answer)
True

下一步是遍历所有要考虑的数字,并且仅在它们是素数时存储它们。 (如果你只需要这些,你也可以打印出来。)

【讨论】:

    猜你喜欢
    • 2020-07-19
    • 2016-04-28
    • 2012-12-29
    • 2018-04-13
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 2018-11-15
    • 2019-08-09
    相关资源
    最近更新 更多