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


    本次作业的来源https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2684

    1.字符串操作:

    • 解析身份证号:生日、性别、出生地等。
    IdCard=input("请输入你的身份证号:")
    if len(IdCard) == 18:
        print("你的身份号是:"+IdCard)
    else:
        print("输入有误")
    IdPlace = IdCard[0:6]
    IdBirth = IdCard[6:14]
    IdSex = IdCard[14:17]
    print("出生地为:"+IdPlace)
    year = IdBirth[0:4]
    month = IdBirth [4:6]
    day = IdBirth[6:8]
    print("生日:{}年{}月{}日".format(year,month,day))
    province=IdCard[0:2]
    city = IdCard[2:4]
    county = IdCard[4:6]
    print("你的出生地为:{}省{}市{}县".format(province,city,county))
    if int(IdSex)%2 == 0:
        print("性别:女")
    else:
        print("性别:男")

    • 凯撒密码编码与解码
    import  os
    def encryption():
        str_raw = input("请输入明文:")
        k = int(input("请输入位移值:"))
        str_change = str_raw.lower()
        str_list = list(str_change)
        str_list_encry = str_list
        i = 0
        while i < len(str_list):
            if ord(str_list[i]) < 123-k:
                str_list_encry[i] = chr(ord(str_list[i]) + k)
            else:
                str_list_encry[i] = chr(ord(str_list[i]) + k - 26)
            i = i+1
        print ("加密结果为:"+"".join(str_list_encry))
    def decryption():
        str_raw = input("请输入密文:")
        k = int(input("请输入位移值:"))
        str_change = str_raw.lower()
        str_list = list(str_change)
        str_list_decry = str_list
        i = 0
        while i < len(str_list):
            if ord(str_list[i]) >= 97+k:
                str_list_decry[i] = chr(ord(str_list[i]) - k)
            else:
                str_list_decry[i] = chr(ord(str_list[i]) + 26 - k)
            i = i+1
        print ("解密结果为:"+"".join(str_list_decry))
    while True:
        print (u"1. 加密")
        print (u"2. 解密")
        choice = input("请选择:")
        if choice == "1":
            encryption()
        elif choice == "2":
            decryption()
        else:
            print (u"您的输入有误!")

    • 网址观察与批量生成
    for i in range(2,10):
        url='http://news.gzcc.cn/html/xiaoyuanxinwen/{}.html'.format(i)
        print(url)

    2.英文词频统计预处理

    • 下载一首英文的歌词或文章或小说。
    • 将所有大写转换为小写
    • 将所有其他做分隔符(,.?!)替换为空格
    • 分隔出一个一个的单词
    • 并统计单词出现的次数。
    article ='''
    Big data analytics and business analytics
    by Duan, Lian; Xiong, Ye
    Over the past few decades, with the development of automatic identification, data capture and storage technologies, 
    people generate data much faster and collect data much bigger than ever before in business, science, engineering, education and other areas. 
    Big data has emerged as an important area of study for both practitioners and researchers. 
    It has huge impacts on data-related problems. 
    In this paper, we identify the key issues related to big data analytics and then investigate its applications specifically related to business problems.
    '''
    
    split = article.split()
    print(split)
    
    #使用空格替换标点符号
    article = article.replace(",","").replace(".","").replace(":","").replace(";","").replace("?","")
    
    
    #大写字母转换成小写字母
    exchange = article.lower();
    print(exchange)
    
    #生成单词列表
    list = exchange.split()
    print(list)
    
    #生成词频统计
    dic = {}
    for i in list:
        count = list.count(i)
        dic[i] = count
    print(dic)
    
    #排除特定单词
    word = {'and','the','with','in','by','its','for','of','an','to'}
    for i in word:
        del(dic[i])
    print(dic)
    
    #排序
    dic1= sorted(dic.items(),key=lambda d:d[1],reverse= True)
    print(dic1)
    
    #输出词频最大的前十位单词
    for i in range(10):
        print(dic1[i])

    3.文件操作

    • 同一目录、绝对路径、相对路径
    //同一目录
    fo=open('cipher.txt','r',encoding='utf8')
    content=fo.read()
    fo.close()
    print(content,end='')
    //绝对路径
    fo=open(r'C:/Users/Czc/PycharmProjects/untitled1/aa.py','r',encoding='utf8')
    content=fo.read()
    fo.close()
    print(content,end='')
    //相对路径
    fo=open(r'./cipher.txt','r',encoding='utf8')
    content=fo.read()
    fo.close()
    print(content,end='')

    • 凯撒密码:从文件读入密函,进行加密或解密,保存到文件。
    file=open("cipher.txt")
    a = file.read()
    print(a)
    cipher='';
    jiemi='';
    for i in a:
        cipher=cipher+chr(ord(i)+3);
    print("加密后的密码:",cipher)
    file=open("cipher.txt",'w')
    file.write(cipher)
    file.close()

    • 词频统计:下载一首英文的歌词或文章或小说,保存为utf8文件。从文件读入文本进行处理。
    #coding=utf-8
    
    
    
    file=open("bin.txt")
    text=file.read();
    file.close();
    s=",.?!"
    for i in s:
      text=text.replace(i," ")
      text=text.lower().split()
    print(text)
    count={}
    for i in text:
      try:
        count[i]=count[i]+1
      except KeyError:
        count[i]=1
    print(count)

     

     4.函数定义

    • 加密函数
    def encryption():
        str_raw = input("请输入明文:")
        k = int(input("请输入位移值:"))
        str_change = str_raw.lower()
        str_list = list(str_change)
        str_list_encry = str_list
        i = 0
        while i < len(str_list):
            if ord(str_list[i]) < 123-k:
                str_list_encry[i] = chr(ord(str_list[i]) + k)
            else:
                str_list_encry[i] = chr(ord(str_list[i]) + k - 26)
            i = i+1
        print ("加密结果为:"+"".join(str_list_encry))
    • 解密函数
    def decryption():
        str_raw = input("请输入密文:")
        k = int(input("请输入位移值:"))
        str_change = str_raw.lower()
        str_list = list(str_change)
        str_list_decry = str_list
        i = 0
        while i < len(str_list):
            if ord(str_list[i]) >= 97+k:
                str_list_decry[i] = chr(ord(str_list[i]) - k)
            else:
                str_list_decry[i] = chr(ord(str_list[i]) + 26 - k)
            i = i+1
        print ("解密结果为:"+"".join(str_list_decry))
    • 读文本函数
    def readFile(filePath):
        file=open(filePath,'r',encoding='utf-8')
        return file.read()
  • 相关阅读:
    【批处理】批处理遍历指定文件夹下的文件
    Win10删除文件显示删除确认对话框
    【makefile】make程序的命令行选项和参数
    【批处理】获取当前目录的绝对路径
    Win10怎样显示此电脑
    单片机普通行列矩阵键盘驱动
    ADS1.2与MDK4.7冲突问题的解决方法
    Cortex-M3 咬尾中断 与 晚到中断
    Cortex-M3 SVC与PendSV
    安卓渗透测试工具——Drozer(安装和使用)
  • 原文地址:https://www.cnblogs.com/StuCzc/p/10506185.html
Copyright © 2020-2023  润新知