作业2:字符串、文件操作,英文词频统计预处理

1.字符串操作:

  • 解析身份证号:生日、性别、出生地等。

生日、性别、出生地等: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]
# ID_add是身份证中的区域代码,如果有一个行政区划代码字典,就可以用获取大致地址#

area = {'441501':'汕尾市市辖区','441502':'汕尾市城区','441521':'汕尾市海丰县','441523':'汕尾市陆河县','441581':'汕尾市陆丰市'}
year = ID_birth[0:4]
moon = ID_birth[4:6]
day = ID_birth[6:8]
print("生日: " + year + '年' + moon + '月' + day + '日')
print("地区:{}".format(area[ID[0:6]]))

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 % 11

if ID_check == ID_CHECK[ID_Check]:
print('正确的身份证号码')
else:
print('错误的身份证号码')

  • 凯撒密码编码与解码
    word=input("请输入一段字母:");
    n=input("请输入偏移值:");
    s=ord("a");
    e=ord("z");
    choose=input("编码请按1,解码请按2:");
    print("凯撒密码编码:",end="")
    for i in word:
    if s<=ord(i)<=e:
    if choose == "1":
    print(chr(s+(ord(i)-s+int(n))%26),end="");
    elif choose == "2":
    print("凯撒密码解码:", end="")
    print(chr(s + (ord(i)-s-int(n)) % 26), end="");
    else:
    print("您的选择输入错误!")
    else:
    print(i,end="");

 

  • 3.网址观察与批量生成

    for in range(2,10):

        url='http://www.ygdy8.net/html/gndy/china/list_4_{}.html'.format(i)
        print(url)

 

4..英文词频统计预处理

  • 下载一首英文的歌词或文章或小说,保存为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();
  •  

posted @ 2019-03-06 16:05  Heyuanz  阅读(260)  评论(0编辑  收藏  举报