字符串、文件操作和英文词频统计预处理
作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2646
1.字符串操作:
解析身份证号:生日、性别、出生地等。
number=input("请输入身份证号:")
Y=number[6:10]
M=number[10:12]
D=number[12:14]
sex=number[14:17]
j=0
if len(number) != 18:
print('你输入得身份证号码有误 ')
else:
num = {'44': '广东省'}
if int(sex) % 2 == 0:
xingbie='女'
else:
xingbie='男'
print('你出生在{},出生时间为{}年{}月{}日,性别为{}。'.format(num[number[0:2]],Y,M,D,xingbie))
运行结果如下:

凯撒密码编码与解码
def change(c,i):
c = c.lower()
num = ord(c)
if num >= 97 and num <= 122:
num = 97 + ((num - 97) + i) % 26
return chr(num)
def kaisa_jiami(string,i):
string_new = ''
for s in string:
string_new += change(s,i)
print(string_new)
return string_new
def kaisa_jiemi(string):
for i in range(25):
print('\n', i, '\n')
i += 1
kaisa_jiami(string,i)
def main():
print('请选择操作:')
print('1:加密')
print('2:解密')
choice = input()
if choice == '1':
string = input('请输入需要加密的字符串:')
num = int(input('请输入需要偏移的位数:'))
kaisa_jiami(string,num)
elif choice == '2':
string = input('请输入需要解密的字符串:')
kaisa_jiemi(string)
else:
print('输入错误,请重试!')
main()
if __name__ == '__main__':
main()
运行结果如下:


网址观察与批量生成
for i in range(2,6):
url='https://v.qq.com/{}.html'.format(i)
print(url)
运行结果如下:

2.英文词频统计预处理
- 下载一首英文的歌词或文章或小说,保存为utf8文件。
- 从文件读出字符串。
- 将所有大写转换为小写
- 将所有其他做分隔符(,.?!)替换为空格
- 分隔出一个一个的单词
- 并统计单词出现的次数。
代码
def readFile():
f=open("say.txt");
text=f.read();
print(text);
f.close();
return text;
def splitText():
dict={}
s="124.,,"
t=readFile().lower();
for i in s:
t=t.replace(i,'');
t = t.split(); #分割文本
for j in t:
dict[j]=t.count(j);
return dict;
def sortDict():
d=sorted(splitText().items(),reverse=True,key=lambda d:d[1]); '元组排序,降序,按值排序'
print("speech文本统计词频如下:\n");
for i in range(10):
print(d[i][0],"--",d[i][1]);
def main():
sortDict();
main();
运行截图:

浙公网安备 33010602011771号