文档详情

Python大学教程(第2版) 第7章 字符串与正则表达式 实践题.docx

发布:2025-06-03约1.5千字共3页下载文档
文本预览下载声明

1.早期手机的键盘如图7-7所示。要输入英文字母,需要按下键盘上所对应的数字键。例如,字母J对应5键,S对应7键,而空格对应0键。现编写程序,用户输入一个只包含大写字母与空格的字符串,程序输出对应的键盘上数字的字符串。

例如,用户输入字符串“HELLOWORLD”,则程序应当输出“43556096753”。

keyboard={

??A:2,B:2,C:2,

??D:3,E:3,F:3,

??G:4,H:4,I:4,

??J:5,K:5,L:5,

??M:6,N:6,O:6,

??P:7,Q:7,R:7,S:7,

??T:8,U:8,V:8,

??W:9,X:9,Y:9,Z:9,

??:0

}

s=input()

result=

forcins:

??result+=keyboard[c]

print(result)

2.编写程序,用户输入一个以十六进制数表示的数字,程序输出对应的十进制数。例如,用户输入“12CF”,则程序应输出“4815”。

hex=input()

dec=int(hex,16)

print(dec)

3.编写一个函数来返回两个字符串的最长公共前缀。例如,“dislike”和“discourage”的最长公共前缀是“dis”。函数头应定义为

deflcp(s1,s2):

deflcp(string1,string2):

res=list()

foriinrange(len(string1)):

ch=string1[i]

ifstring2[i]==ch:

res.append(ch)

else:

return.join(res)

4.一些网站对用户输入的密码有一定要求。编写函数来检测用户输入的字符串是否为合法的密码。

假设密码规则如下:

①至少包含8个字符。

②密码只能包含英文字母、数字和下划线。

③在大写字母、小写字母、数字这三类字符中,密码至少包含两类。

程序提示用户输入一段字符串作为密码,如果密码合法就输出“Validpassword”,否则输出“Invalidpassword”。

importre

string=input()

po=pile([a-zA-z0-9_]{8,})

wa1=pile([a-z_]{8,})

wa2=pile([A-Z_]{8,})

wa3=pile([0-9_]{8,})

ifre.match(po,string):

ifre.match(wa1,string)orre.match(wa2,string)orre.match(wa3,string):

print(Invalidpassword)

else:

print(Validpassword)

else:

print(Invalidpassword)

显示全部
相似文档