编写程序实现素数处理的功能 【python实现】

问题描述:

编写Python程序实现素数处理的功能,要求如下:

(1)从键盘输入一个整数X,编写一个函数Find(x=100),找出1—X之间的所有的素数(即质数),并将这些素数按照升序存放在列表 prime_list []中。

(2)在程序中编写一个函数delete_seven( prime_list),将 prime_list []中个位含有7的素数删除;

【程序要求:】

(1)有引导用户键盘输入的提示信息,言语要恰当;

(2)函数Find(x=100)实现要正确,实现列表 prime_list []中查询到的素数的输出;

(3)函数delete_seven( prime_list)实现正确,输出删除指定素数后的相关数据信息。

实现方式:

import math


def find(x):
    res = []
    prime_list = [1]
    if x == 1:
        return 1
    else:
        for m in range(2, x + 1):
            for n in range(2, round(math.sqrt(m) + 1)):
                res.append(m % n)
            if 0 not in res:
                prime_list.append(m)
            else:
                res = []

    return prime_list


def delete7(list):
    for s in list:
        if str(s)[-1] == "7":
            list.remove(s)

    return list


x = int(input("请输入一个正整数:"))
print(f"寻找素数结果为:{find(x)}")
print(f"素数结果除去个位为7的为:{delete7(find(x))}")

result:

请输入一个正整数:17
寻找素数结果为:[1, 2, 3, 5, 7, 11, 13, 17]
素数结果除去个位为7的为:[1, 2, 3, 5, 11, 13]

Process finished with exit code 0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是Python编写的程序,实现输出100以内质数的功能: ```python # 定义一个函数,判断一个数是否为质数 def is_prime(num): if num < 2: return False for i in range(2, int(num ** 0.5) + 1): if num % i == 0: return False return True # 输出100以内的质数 for i in range(2, 101): if is_prime(i): print(i) ``` 程序的思路是,先定义一个函数`is_prime`,用于判断一个数是否为质数。然后在主程序中,循环遍历2到100之间的所有数,对于每个数,调用`is_prime`函数判断是否为质数,如果是,则输出该数。 ### 回答2: 要用Python编写程序实现输出100以内质数的功能,我们需要先了解什么是质数: 质数:指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。例如 2、3、5、7、11、13 等。 接下来,我们通过Python语言编写程序实现输出100以内质数的功能。步骤如下: 第一步:定义一个函数 is_prime_number(),用于判断一个数是否为质数。 def is_prime_number(n): if n < 2: # 排除n小于2的情况 return False for i in range(2, int(n ** 0.5)+1): # 使用开方的方式判断n是否为质数,减少循环次数 if n % i == 0: # 如果n可以整除i,则n不为质数 return False return True # 剩下的情况均为质数 第二步:使用一个for循环遍历1到100的所有整数,使用is_prime_number()函数判断每一个数是否为质数,如果是则输出。 for i in range(1, 101): if is_prime_number(i): print(i) 完整代码如下: def is_prime_number(n): if n < 2: # 排除n小于2的情况 return False for i in range(2, int(n ** 0.5)+1): # 使用开方的方式判断n是否为质数,减少循环次数 if n % i == 0: # 如果n可以整除i,则n不为质数 return False return True # 剩下的情况均为质数 for i in range(1, 101): if is_prime_number(i): print(i) 在Python运行环境中执行上述代码,即可输出100以内的所有质数。 ### 回答3: 质数是指除了1和它本身以外,没有其他自然数能够整除的数字,比如2,3,5,7等。Python 是一种高级编程语言,可以用来快速编写实现各种功能的程序。下面就来介绍一下如何用 Python 来输出 100 以内的质数。 首先,我们需要明确质数的定义,即需要编写一个函数来判断一个数字是否是质数。在 Python 中,可以编写下面这个函数来实现: ``` python def is_prime(num): if num < 2: return False for i in range(2, num): if num % i == 0: return False return True ``` 在这个函数中,首先判断如果数字小于 2,那么它不是质数,直接返回 False。然后使用 for 循环,从 2 开始遍历到 num 的前一个数字,判断是否能被整除,如果能被整除,那么它不是质数,直接返回 False。如果无法整除,那么这个数字就是质数,返回 True。 接下来,我们可以编写一个循环,依次判断 1 到 100 中的每个数字是否是质数,然后输出结果。代码如下所示: ``` python for num in range(1, 101): if is_prime(num): print(num, end=' ') ``` 这个代码中,使用 for 循环依次遍历 1 到 100 中的每个数字,然后调用 is_prime 函数判断该数字是否是质数。如果是质数,就使用 print 函数输出该数字。 执行以上代码,就可以得到 1 到 100 中的所有质数的列表。输出结果如下: ``` 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 ``` 这样,就成功实现了输出 100 以内质数的功能。这个方法也可以用于输出其他范围内的质数,只需要修改循环中的数字范围即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值