在Python中,你可以使用列表推导式来生成一个包含自然数0到n的列表,然后使用一个函数来删除其中的素数。以下是一个示例代码:
from math import sqrt
def is_prime(num):
if num < 2:
return False
for i in range(2, int(sqrt(num)) + 1):
if num % i == 0:
return False
return True
n = int(input("请输入一个自然数n:"))
生成包含0到n的自然数列表
numbers = list(range(n + 1))
删除列表中的素数
non_primes = [num for num in numbers if not is_prime(num)]
输出列表中的素个数
print("非素数列表:", non_primes)
print("素个数:", len(non_primes))
这段代码首先定义了一个`is_prime`函数,用于检查一个数是否为素数。然后,它接收用户输入的自然数`n`,生成一个包含0到n的自然数列表,并使用列表推导式删除其中的素数。最后,它输出非素数列表及其素个数。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/64944.html