目录
第1关回文素
第2关反素数
第3关哥德巴赫猜想
第4关货币转换
第5关个人信息提取
第6关身份证号基本信息
第7关各位数字之和为5的数
第8关字符串长度
第9关字符串加密
第10关输出单词
第11关字符大小写转换
第12关查找指定字符
第13关随机密码生成器
第14关模拟生成微软序列号
第15关数列求和
第16关单词个数
第1关回文素
def isprime(n):for j in range(2, int(n**(1/2)) + 1):if n % j == 0:return 0return 1def plalindrome_prime(n):n1 = n[::-1]if n1 == n:return 1return 0x = int(input())i = 0n = 2while (i < x):if (isprime(n) and plalindrome_prime(str(n))):print(n, end=' ')i += 1n += 1
第2关反素数
def is_prime(n):for i in range(2,int(n**(1/2)+1)+1):if n % i ==0:return Falsereturn Truedef reverse_prime(n):if is_prime(n) and is_prime(int(str(n)[::-1])) and str(n) !=str(n)[::-1]:return Trueelse:return Falsea = int(input())times = 0n = 2while times < a:if reverse_prime(n):print(n,end = " ")times += 1n +=1
第3关哥德巴赫猜想
def is_prime(n):"""判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False"""# ====================Begin===================================# 补充你的代码if n < 2:return Falseelif n == 2:return Trueelse:a = int(n ** (1 / 2) + 1)for i in range(2, a + 1):if n % i == 0:return Falseelse:return True# ======================End=================================def goldbach_conjecture(num):""" 哥德巴赫猜想, 接收一个不小于4的正整数为参数。当参数为不小于4的偶数时,将其分解为两个素数的加和,按小数+数的格式输出。有多种组合时全部输出,但不输出重复的组合,例如输出8=3+5,不输出8=5+3。参数为奇数或小于4时,输出'Data error!'"""# ====================Begin===================================# 补充你的代码if 4<=num and num % 2 == 0:for i in range(1,num + 1):n = num - iif is_prime(i) and is_prime(n) and i<=n :print(f"{num}={i}+{n}")else:print('Data error!')# ======================End=================================if __name__ == '__main__':positive_even = int(input())# 输入一个正数goldbach_conjecture(positive_even)
第4关货币转换
a = input()b = eval(input())if '$' in a and b>0:c = eval(a.replace('$',""))print(f"{c*b:.2f}¥")elif "¥" in a and b>0:c = eval(a.replace('¥', ""))print(f"{c/b:.2f}$")else:print("Data error!")
第5关个人信息提取
a = list(map(str,input().split()))b = []c=0for i in a[4]:if str.isdigit(i) and c <4:b.append(i)c+=1b = ''.join(b)print("姓名:" + a[1])print("班级:" + a[2])print("出生:" + str(b)+"年")
第6关身份证号基本信息
a = input()year = a[6:10]month = a[10:12]date = a[12:14]if int(a[16])%2 == 0:print(f'出生:{year}年{month}月{date}日')print('性别:女')else:print(f'出生:{year}年{month}月{date}日')print('性别:男')
第7关各位数字之和为5的数
a = int(input())for i in range(a+1):s = 0for n in str(i):s = s + int(n)if s == 5:print(i, end=" ")
第8关字符串长度
a = input()print(len(a))
第9关字符串加密
import stringdef caesar_cipher(text):lower = string.ascii_lowercaseupper = string.ascii_uppercasedigit = string.digitsbefore = lower + upper + digitafter = lower[3:]+lower[:3] + upper[5:]+upper[:5]+ digitresult = ''.maketrans(before, after)return text.translate(result)if __name__ == '__main__':plaintext = input()print(caesar_cipher(plaintext))
第10关输出单词
a = input()b = a.split()for i in b:print(i)
第11关字符大小写转换
import stringdef caesar_cipher(text):lower = string.ascii_lowercaseupper = string.ascii_uppercasedigit = string.digitsbefore = lower + upper + digitafter = upper + lower+ digitresult = ''.maketrans(before, after)return text.translate(result)if __name__ == '__main__':plaintext = input()print(caesar_cipher(plaintext))
第12关查找指定字符
a = input()b = input()if a in b:print(f'index = {b.index(a)}')else:print("Not Found")
第13关随机密码生成器
import randomn,s= map(int,input().split(','))random.seed(s)i = 0while i < n:i += 1print(random.choice('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\()*+,-.'),end = "")
第14关模拟生成微软序列号
import randomn = int(input())x = int(input())random.seed(x)def wrxl():list = []times = 0while times < 5:for i in range(5):a = random.choice("BCEFGHJKMPQRTVWXY2346789")list.append(a)list.append('-')list1 = map(str,list)times += 1list2 = ''.join(list1)list2 = list2.strip('-')return list2for i in range(n):print(wrxl())
第15关数列求和
A = input()N = int(input())if 0 <= N and 1<= int(A) <=9 :def slqh(A,N):list = []for i in range(1,N+1):list.append(int(A*i))print(sum(list))slqh(A,N)else:print('data error')
第16关单词个数
txt = input()for i in ",.!":txt = txt.replace(i, " ")x1 = txt.split()print(len(x1))