defquestion_judge(question):"""接收一个字符串为参数,根据参数值判断问题类型,调用合适的函数进行操作。"""if question =='素数':# 如果输入”素数“,再输入一个正整数n,输出不大于n的所有素数
n =int(input())
output_prime(n)# 输出素数elif question =='回文素数':
n =int(input())
palindromic_prime(n)# 输出回文素数elif question =='反素数':
n =int(input())
reverse_prime(n)# 输出反素数elif question =='哥德巴赫猜想':
n =int(input())
goldbach_conjecture(n)else:print('输入错误')defis_prime(n):"""判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False
减小判定区间,减少循环次数,提升效率"""##点击在此输入一行或多行代码if n <2:returnFalsefor i inrange(2,int(n /2)+1):if n % i ==0:returnFalseelse:returnTruedefoutput_prime(number):"""接收一个正整数为参数,遍历从0到number之间的所有整数
在一行中输出不大于number的所有素数,函数无返回值"""##点击在此输入一行或多行代码for i inrange(number +1):if is_prime(i):print(i,end =' ')defpalindromic(num):"""接收一个数字为参数,判定其是否为回文数,返回布尔值。"""ifstr(num)==str(num)[::-1]:returnTrueelse:returnFalsedefpalindromic_prime(number):"""接收一个正整数参数number,遍历从0到number之间的所有整数,
若某个数是素数,且转为字符串后是回文字符串,则称其中回文素数
找出并在同一行中从小到大输出小于number的所有回文素数,各数字间用一个空格分隔,
函数无返回值"""for i inrange(number +1):if palindromic(i)and