一,按要求实现程序功能
1,程序简介
(1)定义一个函数prime判断某个整数是否为素数;
(2)然后从键盘输入一行字符串,将其中的连续数字依次提取出来形成一个列表。例如,字符串“ab12cd34fg67”按要求提取后形成列表[12,34,67];
(3)将列表中的所有非素数改为0(要求用prime函数判断列表中的元素是否为素 数);
(4)输出原始字符串及修改前、修改后的列表。 提示:可以用s.isdigit()判断s是否为数字字符(串)
2,程序代码
# -*- coding: utf-8 -*-
"""
Created on Sat Jan 8 08:21:14 2022
Function: 按要求实现程序功能
@author: 小梁aixj
"""
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]
y = lambda x: 0 if prime(x) else x
sNew = [y(x) for x in sNum]
print(sNum)
print(sNew)