目录
1.哥德巴赫猜想
2.判断是否回文
3.Add ‘ings'
4.身份证号掩盖出生日期
5.敏感词过滤
1.哥德巴赫猜想
题目描述
一个大正偶数总可以分解为两个质数之和。试编写程序验证哥德巴赫猜想。输入一个正偶数,输出该偶数的质数和分解,且两个质数是最接近的。如100=3+97=11+89=17+83=29+71=41+59=47+53,其中两个质数最接近的输出是100=47+53
示例 | 输入 | 输出 |
1 | 100 | 100=47+53 |
2 | 1000 | 1000=491+509 |
3 | 30000 | 30000=14893+15017 |
解题思路
首先,这两个质数位于中点两侧或中点,那么遍历范围就变n/2~100,在这个范围内第一个符合的就是最小的
代码
import math
def isprime(n): # 判断是否为素数
if n == 1:
return False
elif n == 2:
return True
else:
for i in range(2, int(math.sqrt(n)+1)): # 缩小遍历范围
if n % i == 0:
return False
return True
x = eval(input())
min = x
for i in range(x//2-1, 100): # 从中间开始
if isprime(i):
if isprime(x-i):#第一个符合条件的就是最小的
print("{}={}+{}".format(x, x-i, i))
break
2.判断是否回文
描述
一个字符串,如果字符串中各字符逆向排列与原字符串相同,则称为回文,例如“客上天然居,居然天上客”。用户输入一个字符串,判断该字符串是否为回文,如是回文输出“是回文”,否则输出“不是回文”。
输入输出示例
输入 | 输出 | |
示例 1 | 客上天然居,居然天上客 | 是回文 |
代码
'''一个字符串,如果各字符反向排列与原字符串相同,则称为回文,
如“上海自来水来自海上”,用户输入一个字符串,判断该字符串是否为回文。
'''
str = input()
if str == str[::-1]:
print('True')
else:
print('False')
3.Add ‘ings'
描述
完成一段程序,由用户输入一个英文单词,程序在单词结尾添加'ing',具体规则如下:
- 如果给定的单词已经以'ing'为结尾,那么在后面添加'ly'
- 如果单词长度少于3,保持单词状态不变,返回原单词即可
- 其他情况均在单词最后添加‘ing’
输入输出示例
输入 | 输出 | |
示例 | abc string | abcing stringly |
代码
word = input()
if len(word) < 3:
print(word)
elif word.endswith('ing'):
print(word+'ly')
else:
print(word+'ing')
4.身份证号掩盖出生日期
描述
输入一个18位身份证号,用8个“*”替换其中代表出生年月的字符后输出
如果输入不足18位,输出’error‘
输入输出示例
输入 | 输出 | |
示例 1 | 120102198802016598 | 120102********6598 |
代码
s=input()
if(len(s)<18):
printf('error')
else:
print(s.replace(s[6:14],'********',1))
5.敏感词过滤
描述
敏感词通常是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明的词语,对于字符串中出现的敏感词常用的处理方法是使用特殊符号(如“*”)对敏感词进行替换。
输入:字符串(带有敏感词)
输出:字符串中出现的敏感词使用特殊符号(“*”)对敏感词进行替换。
输入输出示例
输入 | 输出 | |
示例 | 楼主真是一个二货 | 楼主真是一个** |
代码
lst = ["二货","呆子","傻子","他妈的"]
text = input()
for word in lst:
if word in text:
text = text.replace(word, "*"*len(word))
print("请输入您的内容:"+text)
2022/3/21