Python 第4次作业:程序设计题 验证码较验 大小写转换 查找指定字符 凯撒加密 敏感词过滤 字符串替换 身份证号处理

【Python】 第4次作业:程序设计题 验证码较验 大小写转换 查找指定字符 凯撒加密 敏感词过滤 字符串替换 身份证号处理

1.验证码较验
题目:用户登录网站经常需要输入验证码,验证码包含大小写字母和数字,随机出现。用户输入验证码时不区分大小写,只要各字符出现顺序正确即可通过验证。
请写一个程序完成验证码的匹配验证,假设当前显示的验证码是’Qs2X’。
如果用户输入验证码正确,输出“验证码正确”,输入错误时输出“验证码错误,请重新输入”

str1=‘Qs2X’
str2=input()
if str1.lower()==str2.lower():
print(‘验证码正确’)
else:
print(‘验证码错误,请重新输入’)

2.大小写转换
题目:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫编写程序,用户输入一个字符串,将其中小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
注:string.ascii_lowercase 可用于返回所有小写字母,string.ascii_uppercase 可用于返回所有大写字母

import string
str1 = input()
for i in str1:
if i in string.ascii_lowercase:
print(i.upper(),end=’’)
elif i in string.ascii_uppercase:
print(i.lower(),end=’’)
else:
print(i,end=’’)

3.查找指定字符
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫题目:编写程序,从用户给定字符串中查找某指定的字符
输入格式
输入的第一行是一个待查找的字符‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
第二行是一个以回车结束的非空字符串。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫输出格式
如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);
否则输出"Not Found"。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

m=input()
s=input()
flag=1
for i in range(len(s)-1,-1,-1):
if s[i]==m:
print(“index = %d”%i)
flag=0
break
if flag:
print(“Not Found”)

4.凯撒加密
题目:在密码学中,恺撒密码是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。编程实现恺撒加密,明文和偏移量由用户输入,输出密文。 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

s = input()
slst = list(s)
n = int(input())
N=n%26
qaq = ‘abcdefghijklmnopqrstuvwxyz’
qaq1 = qaq + qaq[0:N+1]
pap = qaq1.upper()
for i in range(len(slst)):
if slst[i] in qaq:
for q in range(len(qaq)):
if qaq[q] == slst[i]:
slst[i] = qaq1[q+N]
break
elif slst[i] in pap:
for p in range(len(pap)):
if pap[p] == slst[i]:
slst[i] = pap[p+N]
break
else:
pass
s = ‘’.join(slst)
print(s)

5.敏感词过滤
题目:现在基本上所有的网站都需要设置敏感词过滤,编程查找与敏感词列表相匹配的字符串,如果找到以*号替换,最终得到替换后的字符串。
假设敏感词列表由以下词组成:垃圾,陷阱,不要脸,内幕,辣鸡。

words = (‘垃圾’,‘陷阱’,‘不要脸’,‘内幕’,‘辣鸡’)
text = input()
for word in words:
if word in text:
text = text.replace(word, ‘*’)
print(text)

6.字符串替换
题目:在编辑文档时,对于出现频率很高又难于输入的字符串经常可以用一个特殊的短字符串代替输入,待文档完成时再替换回来。
如:在输入“武汉理工大学”时,可以用"whut"代替,编程完成这种替换。

str1=input()
str2=input()
a=input()
b=a.replace(str1,str2)
print(b)

7.身份证号处理
题目:18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,
第17位代表性别,奇数为男,偶数为女。
用户输入一个合法的身份证号,请输出用户的出生年月日,年龄和性别。(不要求较验输入的合法性)
请先查看下方此题特别说明。

import datetime
ID=input()

year=ID[6:10]
month=ID[10:12]
day=ID[12:14]

a=datetime.datetime.now().year
age=a-int(year)

if ID[16] in [‘1’,‘3’,‘5’,‘7’,‘9’]:
gender=‘你的性别为男’
else:
gender=‘你的性别为女’

print(“你出生于{}年{}月{}日”.format(year,month,day))
print(“你今年{}周岁”.format(age))
print(gender)

猜你喜欢

转载自blog.csdn.net/zhangyouguang/article/details/105183743