定义一个函数prime判断某个整数是否为素数;

. 简答题 (1)定义一个函数prime判断某个整数是否为素数; (2)然后从键盘输入一行字符串,将其中的连续数字依次提取出来形成一个列表。例如,字符串“ab12cd34fg67”按要求提取后形成列表[12,34,67]; (3)将列表中的所有非素数改为0(要求用prime函数判断列表中的元素是否为素 数); (4)输出原始字符串及修改前、修改后的列表。 提示:可以用s.isdigit()判断s是否为数字字符(串)

import math,re


# 判断素数函数
def prime(num):
	flag = False
	if num > 1:
		for i in range(2, math.floor(math.sqrt(num))):
			if (num % i) == 0:
				flag = True
				break

	if flag:
		print(num, "不是素数")
	else:
		print(num, "是素数")
	return flag
# 键盘输入字符串
s = input("请输入字符串:")

# 提取数字字符串 列表
sList = re.findall(r'(\d+)', s)
sNum = [int(x) for x in sList]
# 非素数重置为0
y = lambda x: 0 if prime(x) else x
sNew = [y(x) for x in sNum]
# 输出
print(sNum) # 输出原列表
print(sNew) # 输出修改后列表

 

import re

def prime(n):
    if n<2:
        return False
    for i in range(2,int(n**0.5)+1):
        if n%i==0:
            return False
    return True

s = input("输入一行字符串:")
print(s)
li = list(map(int,re.findall(r'\d+',s)))
print(li)
for i,n in enumerate(li):
    if not prime(n):
        li[i] = 0
print(li)

def Prime(n):
    s=0#检测机制
    tag = True
    if n>0 :
        for i in range(1,n+1):#得到到这个数字的所有数
            if (n%i)==0:#获得因数
                s+=1#每有一个因数便加一
    if s > 2:
        tag = False
    return tag

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632