Python的几个练习题

发布时间: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吗?


关键字