. 简答题 (1)定义一个函数prime判断某个整数是否为素数; (2)然后从键盘输入一行字符串,将其中的连续数字依次提取出来形成一个列表。例如,字符串“ab12cd34fg67”按要求提取后形成列表[12,34,67]; (3)将列表中的所有非素数改为0(要求用prime函数判断列表中的元素是否为素 数); (4)输出原始字符串及修改前、修改后的列表。 提示:可以用s.isdigit()判断s是否为数字字符(串)
4条回答 默认 最新
- PythonJavaC++go 2021-05-24 10:23关注
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) # 输出修改后列表
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用 2