python-3.x - 测试列表的可分性并附加如果素数
问题描述
我正在为一个应该贯穿给定数字列表并附加任何素数的类编写一个简短的片段。现在它正在返回范围内的所有数字。
我在网上找到了如何做到这一点的示例,但想自己尝试一下,但我似乎碰壁了……这是我的代码:
from random import randrange
from time import sleep
def prime():
user_num = eval(input("Input a number: "))
list_prime = []
for i in range(2,user_num):
if (i % 2) == 1 and\
(i % 3) == 1 and\
(i % 4) == 1 and\
(i % 5) == 1 and\
(i % 6) == 1 and\
(i % 7) == 1 and\
(i % 8) == 1 and\
(i % 9) == 1 or\
i == 2:
list_prime.append(i)
if list_prime == '':
print('No prime numbers.')
if list_prime != '':
print('\nPrime numbers from 1 to ' + str(user_num) + ': ' + str(list_prime))
sleep(1)
print('\nClosing console in 60 seconds...')
sleep(60)
prime()
解决方案
正如他所说,您没有正确检查素数。
from random import randrange
from time import sleep
list_prime = []
user_num = 0
def prime():
user_num = eval(input("Input a number: "))
for i in range(2,user_num):
j = 2
isprime = 1
while (j <= i/2):
if (i % j == 0):
isprime = 0
break
j+=1
if (isprime == 1):
list_prime.append(i)
prime()
if list_prime == '':
print('No prime numbers.')
if list_prime != '':
print('\nPrime numbers from 1 to ' + str(user_num) + ': ' + str(list_prime))
sleep(1)
print('\nClosing console in 60 seconds...')
sleep(60)
推荐阅读
- python - 如何在python中将字节转换为int64
- tableau-api - Tableau 中的错误:已经无法进一步聚合聚合,平均而言
- c - C、添加语句检查输入是否为整数
- multithreading - 运行时错误多处理互斥体 - 进程同步
- openmdao - Dymos 如何使用先前的轨迹解决方案作为初始猜测?
- jquery - 为什么 jquery Google CDN 源会与 jquery.com CDN 源冲突?
- python - 如何在 Jupyter 笔记本上并排显示 YouTube 视频和 matplotlib 图?
- reactjs - 将 Puppeteer 与 Github CI 集成
- function - AutoHotKey,我正在尝试将参数从函数发送到另一个脚本
- javascript - For循环后返回排序数组