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

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

1.字符串操作:

  • 解析身份证号:生日、性别、出生地等。
#获取身份证号中的出生日期与性别
identify=input("请输入您的身份证号:");
while(len(identify)!=18):
    print("您的身份证号码输入错误");
    identify = input("请重新输入您的身份证号:");
year=identify[6:10];
month=identify[10:12];
day=identify[12:14];
print("出生日期是{}-{}-{}".format(year,month,day));
sex=identify[-2];
if int(sex)%2==0:
    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="");

 

  • 网址观察与批量生成
#观察淘宝搜索页并生成10页的搜索结果
print(r"淘宝搜索‘python’结果如下");
url="https://s.taobao.com/search?q=python&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306"
s="&bcoffset=3&ntoffset=3&p4ppushleft=1%2C48&s="
print("第1页网址为{}".format(url));
for i in range(9):
    arg=url+s+str(i*44);
    print("第{}页网址为{}".format(i+2,url));

   

  

   

   

2.英文词频统计预处理

  • 下载一首英文的歌词或文章或小说,保存为utf8文件。
  • 从文件读出字符串。
  • 将所有大写转换为小写
  • 将所有其他做分隔符(,.?!)替换为空格
  • 分隔出一个一个的单词
  • 并统计单词出现的次数。
#文件操作
def readFile():
    f=open("speech.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-05 22:38  不疯魔不成魔  阅读(208)  评论(0编辑  收藏  举报