字符串、文件操作和英文词频统计预处理

作业要求来自: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('
', i, '
')
        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文本统计词频如下:
");
    for i in range(10):
       print(d[i][0],"--",d[i][1]);

def main():
    sortDict();

main();

  运行截图:

原文地址:https://www.cnblogs.com/zl1216/p/10484430.html