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


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

    该作业要求来于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2684

    1.字符串操作:

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

    2.英文词频统计预处理

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

    3.文件操作

    • 同一目录、绝对路径、相对路径
    • 凯撒密码:从文件读入密函,进行加密或解密,保存到文件。
    • 词频统计:下载一首英文的歌词或文章或小说,保存为utf8文件。从文件读入文本进行处理。

     4.函数定义

    • 加密函数
    • 解密函数
    • 读文本函数

    作业详情:

    ID = input('请输入十八位身份证号码: ')
    if len(ID) == 18:
        print("你的身份证号码是 " + ID)
    else:
        print("错误的身份证号码")
    
    ID_add = ID[0:6]
    ID_birth = ID[6:14]
    ID_sex = ID[14:17]
    ID_check = ID[17]
    year = ID_birth[0:4]
    moon = ID_birth[4:6]
    day = ID_birth[6:8]
    print("生日: " + year + '年' + moon + '月' + day + '日')
    
    if int(ID_sex) % 2 == 0:
        print('性别:女')
    else:
        print('性别:男')
    
    W = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
    ID_num = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]
    ID_CHECK = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
    ID_aXw = 0
    for i in range(len(W)):
        ID_aXw = ID_aXw + int(ID[i]) * W[i]
    
    ID_Check = ID_aXw
    if ID_check == ID_CHECK[ID_Check]:
        print('正确的身份证号码')
    else:
        print('错误的身份证号码')
    
     fo = open("D:StudyMy heart will go on.txt", "r", encoding='utf-8')
    song = fo.read()
    s = ",.?!"
    for i in s:
    song.replace(i,"")
    f = song.lower().split()
    for i in f:
    print(i+":"+str(f.count(i)))
    

     every:1
    night:1
    in:5
    my:9
    dreams:1
    i:8
    see:1
    you,i:1
    feel:1
    you:10
    that:4
    is:1
    how:1
    i:8
    know:2
    you:10
    go:10
    on:12
    far:3
    across:1
    the:5
    distance:1
    and:12
    spaces:1
    between:1
    us:2
    you:10
    have:1
    come:1
    to:2
    show:1
    you:10
    go:10
    on:12
    near:2
    far:3
    wherever:2
    you:10
    are:3
    i:8
    believe:2
    that:4
    the:5
    heart:9
    does:2
    go:10
    on:12
    once:2
    more:2
    you:10
    open:2
    the:5
    door:2
    and:12
    you're:3
    here:3
    in:5
    my:9
    heart:9
    and:12
    my:9
    heart:9
    will:4
    go:10
    on:12
    and:12
    on:12
    love:2
    can:1
    touch:1
    us:2
    one:2
    time:2
    and:12
    last:1
    for:1
    a:1
    lifetime:1
    and:12
    never:1
    let:1
    go:10
    till:1
    we're:1
    gone:1
    love:2
    was:1
    when:1
    i:8
    loved:1
    you:10
    one:2
    true:1
    time:2
    i:8
    hold:1
    to:2
    in:5
    my:9
    life:1
    well:1
    always:1
    go:10
    on:12
    near:2
    far:3
    wherever:2
    you:10
    are:3
    i:8
    believe:2
    that:4
    the:5
    heart:9
    does:2
    go:10
    on:12
    once:2
    more:2
    you:10
    open:2
    the:5
    door:2
    and:12
    you're:3
    here:3
    in:5
    my:9
    heart:9
    and:12
    my:9
    heart:9
    will:4
    go:10
    on:12
    and:12
    on:12
    you're:3
    here:3
    there's:1
    nothing:1
    i:8
    fear:1
    and:12
    i:8
    know:2
    that:4
    my:9
    heart:9
    will:4
    go:10
    on:12
    we'll:1
    stay:1
    forever:1
    this:1
    way:1
    you:10
    are:3
    safe:1
    in:5
    my:9
    heart:9
    and:12
    my:9
    heart:9
    will:4
    go:10
    on:12
    and:12
    on:12

    3.凯撒密码

    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(0,6):
        url='http://news.gzcc.cn/html/xiaoyuanxinwen/1.html'.format(i)
        print(url)
    

     

    3.文件操作

    • 同一目录、绝对路径、相对路径
    • 凯撒密码:从文件读入密函,进行加密或解密,保存到文件。
    • file=open('Read.txt','r')
      before=file.read();
      result=" "
      for i in before:
          result += chr(ord(i) + 3)
          file=open(r'D:StudyWrite.txt','w')
          file.write(result)
          file.close()
      
    • 4.函数定义 加密函数 解密函数 读文本函数

  • 相关阅读:
    android button click事件
    springmvc 多方法访问
    hibernate的save和saveOrUpdate方法
    总结的方法
    oracle 存储过程
    ibatis学习笔记(四)>>>>>>>ibatis使用实例
    ibatis学习笔记(二)>>>>>>>sqlMapConfig.xml文件详解
    ibatis学习笔记(三)>>>>>>>java实体跟表映射.xml文件详解
    ibatis学习笔记(一)>>>>>>>sqlMapConfig.xml文件详解
    spring
  • 原文地址:https://www.cnblogs.com/ChiuMingKit/p/10513485.html
Copyright © 2020-2023  润新知