python - 如何在列表中找到素数
问题描述
我想让用户输入一个列表的开始和结束,并让程序找到其中的所有素数并打印它们。现在我的代码如下所示:
def rangeStartEndPrime(v1, v2):
import math
check_prime = (v1,v2+1)
for num in check_prime:
is_prime = True
for i in range(2, int(num**0.5) + 1):
if (num % i) == 0:
is_prime = False
return int(is_prime == True)
number1 = int(input("Please enter start value: "))
number2 = int(input("Please enter end value: "))
range = rangeStartEndPrime(number1, number2)
print(range)
输出:
Please enter start value: 4
Please enter end value: 100
1
解决方案
您应该使用外部循环在给定v1
和之间的范围内迭代一个数字v2
,如果该数字不能被 2 与其平方根之间的任何数字整除,则确定该数字是否为素数,并将该数字添加到列表中:
def rangeStartEndPrime(v1, v2):
primes = []
for num in range(v1, v2 + 1):
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
break
else:
primes.append(num)
return primes
这样rangeStartEndPrime(5, 11)
返回:
[5, 7, 11]
推荐阅读
- android - 如果一个文本行很长,如何使盒子中的弹性颤动以使每一行居中?
- html - 使用 XSLT 将特定 HTML 标记与另一个 HTML 标记包围起来
- javascript - 在 Windows 操作系统中的 React js 应用程序中上传文件时为空的 Mime 类型
- python - 从“aria-label”标签中提取属性值
- spring-boot - 如何使用 kafka 流在 kafka 中进行请求响应?
- r - R:将任意连接变量名称和值的向量转换为单个数据框
- azure - 如何在 Microsoft Azure 上打开大纲/shadowsocks 服务器
- python - concurrent.futures.ProcessPoolExecutor() python 中的共享变量
- functional-programming - 如何在 Scheme 中编写 if-else 语句?
- vb.net - 有没有比 For Next 循环更快的方法来单击匹配的 webbrowser 元素?