python凯撒密码加密算法大小写_Python第四周作业:青蛙跳台阶、欧式距离、验证码校验、大小写互换、凯撒加密、身份证号处理...

青蛙跳台阶计算

一只青蛙一次可以跳上1级台阶,也可以跳上2级。请问该青蛙跳上一个n级的台阶总共有多少种跳法。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输入台阶数,输出一共有多少种跳法

number=int(input())if number == 1:print(number)elif number ==2:print(number)else:

n1= 1n2=0

n= 2

for i in range(3,number+1):

n2=n

n= n+n1

n1=n2print(n)

计算三维空间某点距离原点的欧式距离

欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义。三维空间里点a和b的坐标如果分别为a(x1,y1,z1)、b(x2,y2,z2),则ab的距离的计算机公式是dist(a,b) = √( (x1-x2)^2+(y1-y2)^2+(z1-z2)^2 )‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

编写函数计算两点的欧式距离,并输出(保留小数点后两位)。

请在这里定义distance函数,计算点(x,y,z)与原点的距离值并返回

1 importmath2 x,y,z=input().split(",")3 defdistance (x,y,z):4 dist=pow(x,2)+pow(y,2)+pow(z,2)5 return(math.sqrt(dist))6 d=distance(float(x),float(y),float(z))7 print("{:.2f}".format(d))

验证码校验

用户登录网站经常需要输入验证码,验证码包含大小写字母和数字,随机出现。用户输入验证码时不区分大小写,只要各字符出现顺序正确即可通过验证。

请写一个程序完成验证码的匹配验证,假设当前显示的验证码是'Qs2X'。

如果用户输入验证码正确,输出“验证码正确”,输入错误时输出“验证码错误,请重新输入”

n=input()

m=list(str(n))if( m[0]=='Q' or m[0]=='q'):if(m[1]=='s'or m[1]=='S'):if (m[2]=='2'):if (m[3]=='x' or m[3]=='X'):print("验证码正确")else:print("验证码错误,请重新输入")else:print("验证码错误,请重新输入")else:print("验证码错误,请重新输入")else:print("验证码错误,请重新输入")

大小写转换

编写程序,用户输入一个字符串,将其中小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

注:string.ascii_lowercase 可用于返回所有小写字母,string.ascii_uppercase 可用于返回所有大写字母

importstring

n=input()for i inn:if(i instring.ascii_lowercase):

i=i.upper()print(i,end='')elif(i instring.ascii_uppercase):

i=i.lower()print(i,end='')else:print(i,end='')

查找指定字符

a=input()

s=input()

s1=list(s)if a ins1:print("index =",s.rindex(a))else:print("Not Found")

凯撒加密

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

code =input()

n=int(input())for p incode:if ord("a") <= ord(p) <= ord("z"):print(chr(ord("a")+(ord(p)-ord("a")+n)%26), end='')elif ord("A") <= ord(p) <= ord("Z"):print(chr(ord("A")+(ord(p)-ord("A")+n)%26), end='')else:print(p, end='')

敏感词过滤

现在基本上所有的网站都需要设置敏感词过滤,编程查找与敏感词列表相匹配的字符串,如果找到以*号替换,最终得到替换后的字符串。

假设敏感词列表由以下词组成:垃圾,陷阱,不要脸,内幕,辣鸡。

n=input()print(n.replace('垃圾','*').replace('陷阱','*').replace('不要脸','*').replace('内幕','*').replace('辣鸡','*'))

字符串替换

在编辑文档时,对于出现频率很高又难于输入的字符串经常可以用一个特殊的短字符串代替输入,待文档完成时再替换回来。

如:在输入“武汉理工大学”时,可以用"whut"代替,编程完成这种替换。

n1=input()

n2=input()

n3=input()print(n3.replace(n1,n2))

身份证号处理

18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,

第17位代表性别,奇数为男,偶数为女。

用户输入一个合法的身份证号,请输出用户的出生年月日,年龄和性别。(不要求较验输入的合法性)

from datetime import*now=datetime.now().year

n=str(input())print('你出生于{}年{}月{}日'.format(n[6:10],n[10:12],n[12:14]))

age= now - eval(n[6:10])print('你今年{}周岁'.format(age))if (eval(n[16]) % 2 ==0):print('你的性别为女')else:print('你的性别为男')

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值