qq_58324290
2021-05-24 09:11
采纳率: 100%
浏览 1.6k
已结题

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

. 简答题 (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) # 输出修改后列表
    评论
    解决 1 无用 1
    打赏 举报
查看更多回答(3条)

相关推荐 更多相似问题