Python小程序練習---敏感詞測試

小程序需求說明

敏感詞文本文件 filtered_words.txt,裏面的內容爲以下內容:

北京
程序員
公務員
領導
牛比
牛逼
你娘
你媽
love
sex
jiangge

當用戶輸入敏感詞語時,則打印出 Freedom,否則打印出 Human Rights。

思路及程序編寫

##
#流程敲定:
# 1. 用戶輸入一句話
# 2. 檢查裏面沒有沒有敏感詞彙
#     2.1  將敏感詞彙讀取出來。使用readline(),或者直接使用文件管理器。
#     2.2  檢測用戶輸入是否含有敏感詞  in
# 3.判斷是否有後進行反應
##

user_input=input('Please say something:')
print(user_input)
for filter_word in open('filtered_words.txt'):
     #這裏碰到一個東西就是,使用open()文件迭代器的方法,會自動在讀取的對象後面增加一個跨行符號\n ,
     #所以這裏需要一個rstrip()去掉右邊的跨行符。
    if filter_word.rstrip() in user_input:    
        print('Freedom!')
        break
else:
    print('Human Rights!')


#如果不使用跨行符,那麼結果就是 filter_word in user_input 永遠是false, Freedom不會被打印。

#下面示範沒有rstrip()的形式。
print('這是分割線,哦啦啦啦啦')
user_input=input('Please say something:')
print(user_input)
for filter_word in open('filtered_words.txt'):
    if filter_word in user_input:    
        print('Freedom!')
        break
else:
    print('Human Rights!')

執行後的輸出

Please say something:sexy
sexy
Freedom!
這是分割線,哦啦啦啦啦
Please say something:sexy
sexy
Human Rights!

小結(always continue…)

整個小程序的重點:

1.文件的讀取。
這裏我們使用了文件迭代器:

    for col in open('文件名')

在使用文件迭代器的時候,我們需要直到,每次迭代是按照行來讀取,並且讀取的內容後面會有一個跨行符號。
移除跨行符號我們有多種方法,常見的有:

  • 分片
  • strip,lstrip,rstrip
    這裏我們推薦rstrip方法,因爲分片即使最後沒有跨行符,也會讓其少一截。
#使用分片去除跨行符(空格同理)
>>> s='abcd\n'
>>> print(s)
abcd

>>> print(s[:-1])
abcd
>>> s='abcd'
>>> print(s[:-1])
abc
>>> 

2.判斷時候含有敏感詞
這個時候就用到了成員測試in 就可以輕鬆解決。

小程序其他方案

1.讀取文件方面,我們還可以readline(),不過文件迭代器是按照行讀取文件的最方便的方法。

小程序測試來自於

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章