啊涵呀

导航

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

 

一.字符串操作:

 

  • 解析身份证号:生日、性别、出生地等。
  • 凯撒密码编码与解码
  • 网址观察与批量生成

 


 

 

2.凯撒密码编码与解码

  凯撒加密法的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动一个固定数目的位置。例如,当偏移量是左移3的时候(解密时的密钥就是3),所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。

 

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()

运行结果:

 

 

 

 

3.网址观察与批量生成

   比如学校官网的新闻模块,每一页都有相对应在html页面,比如第一页,网址就为:http://news.gzcc.cn/html/xiaoyuanxinwen/1.html 以此类推。可以直接使用for循环输出网址。

 

for i in range(0,6):
    url='http://news.gzcc.cn/html/xiaoyuanxinwen/1.html'.format(i)
    print(url)

 

 

 

 

 

 

二.英文词频统计预处理

 

  • 下载一首英文的歌词或文章或小说,保存为utf8文件。
  • 从文件读出字符串。
  • 将所有大写转换为小写
  • 将所有其他做分隔符(,.?!)替换为空格
  • 分隔出一个一个的单词
  • 并统计单词出现的次数。

 

 

f=open('galwaygirl.txt','r')
text=f.read()
f.close()
text=text.lower()
sep=',.?!:;_'
for s in sep:
    text=text.replace(s,' ')
print(text.split())
word=input('输入要查询的单词的次数')
print(text.count(word))

 

 

 

 


 

                ————Python学习大法————


 

 

posted on 2019-03-06 21:56  啊涵呀  阅读(375)  评论(0编辑  收藏  举报