博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串操作、文件操作,英文词频统计预处理
阅读量:5933 次
发布时间:2019-06-19

本文共 3538 字,大约阅读时间需要 11 分钟。

1.字符串操作:

  • 解析身份证号:生日、性别、出生地等。
  • 代码:
def check_idcard(id_card):    if id_card is None or id_card.strip() == '':        print('请输入身份证信息')        exit(-1)    if len(id_card) != 18:        print('暂时只支持18位身份证的验证')        exit(-1)    str = """    440000     广东省     440100   广州市    440103   荔湾区    440104   越秀区    440105   海珠区    440106   天河区    440111   白云区    440112   黄埔区    440113   番禺区    440114   花都区    440115   南沙区    440116   萝岗区    440183   增城区    440184   从化区    440200   韶关市    440203   武江区    440204   浈江区    440205   曲江区    440222   始兴县    440224   仁化县    440229   翁源县    440232   乳源县    440233   新丰县    440281   乐昌市    440282   南雄市    440300   深圳市    440303   罗湖区    440304   福田区    440305   南山区    440306   宝安区    440307   龙岗区    440308   盐田区    440400   珠海市    440402   香洲区    440403   斗门区    440404   金湾区    440500   汕头市    440507   龙湖区    440511   金平区    440512   濠江区    440582   潮阳区    440514   潮南区    440515   澄海区    440523   南澳县    """    address= id_card[0:6]    birth = id_card[6:14]    sex = id_card[14:17]    year = birth[0:4]    moon = birth[4:6]    day = birth[6:8]    print("生日: " + year + '年' + moon + '月' + day + '日')    if int(sex) % 2 == 0:        print('性别:女')    else:        print('性别:男')    print('您的地址号码是:',format(address),"出生地方:"+str[str.find(address)+9:str.find(address)+12])if __name__ == '__main__':    check_idcard('440582199708030964')

运行结果:

  • 凯撒密码编码与解码
  • 代码:
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_newdef 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()

运行结果:

  • 网址观察与批量生成
  • 代码:
for i in range(0,6):    url='http://news.gzcc.cn/html/xiaoyuanxinwen/1.html'.format(i)    print(url)

运行结果:

2.英文词频统计预处理

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

代码:

f=open('ctt.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))

运行结果:

3.文件操作

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

 同一路径:

f=open('ctt.txt','r',encoding='utf8') 
text=f.read()
print(text)
f.close()

绝对路径:

f=open(r'D:\ctt.txt','r',encoding='utf8') 
text=f.read()
print(text)
f.close()

相对路径:

f=open('D:\\ctt.txt','r',encoding='utf8') 
text=f.read()
print(text)
f.close()

凯撒密码:

file=open("caesar.txt") caesar=file.read() print("加密前的密码:",caesar) cipher=''; jiemi=''; for i in caesar:     cipher=cipher+chr(ord(i)+3); print("加密后的密码:",cipher) file=open("cipher.txt",'w') file.write(cipher) file.close()

运行结果:

4.函数定义

  • 加密函数
def JiaMi(dode) :       code1 = ''       for i in code :            i = i + chr(ord(i)+3)       return i
  • 解密函数
def JieMi(code) :       code1 = ''       for i in code :            i = i + chr(ord(i)-3)       return i
  • 读文本函数
def read(article) :      file = open(article, 'r',encoding = 'utf8')     return file.read()

 

转载于:https://www.cnblogs.com/Tily/p/10497307.html

你可能感兴趣的文章
数据挖掘三大方向回归、分类、聚类的区别及应用场景
查看>>
svn删除所有.svn文件
查看>>
android初级篇之apk签名key keystore格式转pk8+x509.pem
查看>>
Log4J日志配置详解
查看>>
topcoder srm 520 div1
查看>>
React Native学习笔记-1:JSC profiler is not supported.(转载)
查看>>
如何解决由浏览器记住密码的默认行为带来的密码下拉选项问题
查看>>
eclipse IDE WTP
查看>>
【引用】mysql编码设置
查看>>
windows7所有版本迅雷地址下载集合(含32位和64位)
查看>>
Django中static文件的引入
查看>>
堆栈操作合法性
查看>>
openssl evp 哈希算法(md5,sha1,sha256)
查看>>
20/6/2019
查看>>
源码解析Django CBV的本质
查看>>
秦涛:深度学习的五个挑战和其解决方案
查看>>
JavaScript编码指南
查看>>
用Jquery Widgets Factory写自己的表格控件——AFGrid(支持增、删、改)
查看>>
选择输入框的应用
查看>>
win7上帝模式
查看>>