发布时间:2019-09-11 07:44:35编辑:auto阅读(1626)
明天的面试也不知道公司会出什么题,为了平静一下心情,做几个python解解闷,自己模拟一下。
1)从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"e:/PythonAAA/A/test.txt"中保存。
string=str(input("请输出一句小写字母的字符串:")) f=open("e:/PythonAAA/A/test.txt","a") string=string.upper() f.write(string) print("文件的内容是"+string) f.close()
2)有两个磁盘文件A和B,A放一行字母"a,e,i,o,u",B方一行字母"love,xtz",要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中。
f=open("e:/PythonAAA/A/A.txt","w+") f.write("aeiou") f.close() #A文件搞定内容 f=open("e:/PythonAAA/A/B.txt","w+") f.write("love,xtz") f.close() #B文件搞定内容 f=open("e:/PythonAAA/A/A.txt") aaa=f.read() f.close() f=open("e:/PythonAAA/A/B.txt") bbb=f.read() f.close() string=list(aaa+bbb) string.sort() s='' s=s.join(string) s=s.strip(",") #把逗号去掉 f=open("e:/PythonAAA/A/C.txt","w+") f.write(s) print("A和B的文件内容已经有序的合并!") f.close()
3)计算字符串中子串出现的次数。比如,aaa=www.163.net,搜索net,显示1次。
aaa=str(input("请输入一个字符串:")) bbb=str(input("请输入要查询的字段:")) num=aaa.count(bbb) num=str(num) print("子串出现的次数是"+num)
4)读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。比如输入4,就返回****,输入6,返回******,以此类推。
n=1 while n<=7: a=int(input("please Enter a num:")) if a >= 10: print("NOOOOOO~") break else: print(a * "*") n=n+1
5)已知有一个敏感词文件叫words.txt,内容如下。当用户输入敏感词语的时候,打印出**,否则正常打印,比如输入"达赖是分裂国家的元凶,任何藏独分子都应该受到严惩”,应该输出"**是分裂国家的元凶,任何**分子都应该受到严惩"。
达赖 *** 藏独 达尔富尔 民主 牛逼 你娘 你妈 human right six four jiangzemin
【评析】这种情况在实际应用中也非常常见的,如果输入个一句话里只有一个敏感词,那么这个题很简单,但是要是有多个敏感词,那么输出就会出现错误。难点也就是“多个敏感词”的情况。
首先要知道字符串的替换有两个方法,一个是.replace,另一个是import sub之后的re.sub。但是这两个各有各的问题:
re.sub必须要全拼写出要替换的内容,比如s1 = re.sub(r'BOY|GIRL', 'HUMAN', s0),这样S1就把S0语句里的"BOY"和"GIRL"都替换成了"HUMAN", 但是这个方法必须要指定出具体的要替换的文字,它并不支持变量。
.replace虽然支持变量,但是要替换几个文字就要写几个replace,比如aaa="达赖",bbb="six four",而要替换掉这两个词可以这么写:原文.replace(aaa,"**").replace(bbb,"**")。
但是想这道题,里面有十多个单词,就要写十多个replace,如果几百个词呢?也要写几百个replace吗?
上一篇: python文件读取 readlines
下一篇: 使用Python通过xlrd处理exce
47849
46405
37292
34739
29322
25979
24924
19958
19550
18035
5800°
6422°
5937°
5966°
7072°
5921°
5952°
6447°
6409°
7788°