打個小廣告,七夕兩件套:
《七夕都要到了,你還沒有女朋友?教你用 Python 的 tkinter 做一個表白神器!為了幸福》(適宜沒有女盆友的朋友閱讀)
有女朋友了來看這個:《七夕快到了,想好和女朋友看什么片了嗎?來一起用 Python 爬取豆瓣電影分類排行榜》
今天博主為你們帶來了我私人珍藏的人工智能機器人,話不多說,上代碼!
人工智能機器人核心演算法
#人工智能機器人
print('你好呀!') # 打個招呼
while True:
a=str(input('')) # 變數命名有些隨便
# 人工智能核心演算法!!!
b=a.replace('嗎','呢')
b=b.replace('?','!')
b=b.replace('你','我')
# 輸出了
if b=='': # 退出聊天
print('拜拜!')
break
elif b==a: # 問題無法作出有效回答
print('我沒聽懂你在說什么,換個問題試試?')
c+=1
else: # 回答有效,輸出回答
print(b)
來看一看效果哈:

怎么樣?是不是很強大?
獨家珍藏的人工智能對話機器人,讓你的七夕不再空虛和孤單!
……
額
……

……
咳咳,回歸正題,其實本文的重點不在人工智障……智能,而是字串的方法,
可以看到,我們人工智能的核心演算法是用了字串的replace方法,那么,字串還有哪些更多的方法呢?一起來看看
字串的方法
-
str.count(sub[, start[, end]])
回傳子字串 sub 在 [start, end] 范圍內非重疊出現的次數,可選引數 start 與 end 會被解讀為切片表示法
>>> s = 'aaabbbccc' >>> print(s.count('a')) 3 >>> print(s.count('a', 3, 0)) 0 -
str.find(sub[, start[, end]])
回傳子字串 sub 在 s[start:end] 切片內被找到的最小索引, 可選引數 start 與 end 會被解讀為切片表示法, 如果 sub 未被找到則回傳 -1
>>> s = 'abcabc' >>> s.find('b') 1-
str.rfind(sub[, start[, end]])
回傳子字串 sub 在 s[start:end] 切片內被找到的最小索引,從字串末尾開始:>>> s = 'abcabc' >>> s.rfind('b') 4
-
-
str.index(sub[, start[, end]])
類似于 find(),但在找不到子類時會引發 ValueError
>>> s = 'abcdefabc' >>> s.index('b') 1 >>> s.index('g') Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> s.index('c') ValueError: substring not found-
str.rindex(sub[, start[, end]])
類似于 rfind(),但在找不到子類時會引發 ValueError,從字串末尾開始,
>>> s = 'abcdefabc' >>> s.rindex('b') 7
-
-
str.isalnum()
如果字串中的所有字符都是字母或數字且至少有一個字符,則回傳 True , 否則回傳 False
>>> s = 'zbc123' >>> s.isalnum() True >>> s = '點個贊支持一下作者吧!' >>> s.isalnum() False -
str.isalpha()
如果字串中的所有字符都是字母,并且至少有一個字符,回傳 True ,否則回傳 False
>>> s = 'aaabbb' >>> s.isalpha() True >>> s = '123,?' >>> s.isalpha() False -
str.isdigit()
如果字串中的所有字符都是整數,并且至少有一個字符,回傳 True ,否則回傳 False
>>> s = '123456' >>> s.isdigit() True >>> s = '123.456' >>> s.isdigit() False -
str.isnumeric()
如果字串中至少有一個字符且所有字符均為數值字符(包括中文),則回傳 True ,否則回傳 False
>>> s = '1234一二三四壹貳叁肆' >>> s.isnumeric() True >>> s = '12.34' >>> s.isnumeric() False -
str.isspace()
如果字串中只有空白字符且至少有一個字符則回傳 True ,否則回傳 False
>>> s.isspace() True >>> s = '\n \t' >>> s.isspace() True -
str.istitle()
如果字串中至少有一個字符且為標題字串則回傳 True ,例如大寫字符之后只能帶非大寫字符而小寫字符必須有大寫字符打頭, 否則回傳 False
>>> s = "I am a handsome boy" >>> s.istitle() False >>> s = "I Am A Handsome Boy" >>> s.istitle() True -
str.isupper()
如果字串中至少有一個區分大小寫的字符,且此類字符均為大寫則回傳 True ,否則回傳 False
>>> s = 'abcA' >>> s.isupper() False >>> s = 'ABCA' >>> s.isupper() True -
str.islower()
如果字串中至少有一個區分大小寫的字符,且此類字符均為小寫則回傳 True ,否則回傳 False
>>> s = 'aaabbb' >>> s.islower() True >>> s = 'aAabBb' >>> s.islower() False -
str.replace(old, new[, count])
回傳字串的副本,其中出現的所有子字串 old 都將被替換為 new, 如果給出了可選引數 count,則只替換前 count 次出現
>>> s = 'abcdefghiabcjklabc' >>> s.replace('abc', '123') '123defghi123jkl123' >>> s.replace('abc', '123', 1) '123defghiabcjklabc' -
str.split(sep=None, maxsplit=-1)
回傳一個由字串內單詞組成的串列,使用 sep 作為分隔字串, 如果給出了 maxsplit,則最多進行 maxsplit 次拆分(因此,串列最多會有 maxsplit+1 個元素), 如果 maxsplit 未指定或為 -1,則不限制拆分次數(進行所有可能的拆分)
>>> s = 'abc def \n ghi' >>> s.split() ['abc', 'def', 'ghi'] >>> s = 'abc.def.ghi.' >>> s.split('.') ['abc', 'def', 'ghi', ''] >>> s.split('.', 1) ['abc', 'def.ghi.']-
str.rsplit(sep=None, maxsplit=-1)
回傳一個由字串內單詞組成的串列,使用 sep 作為分隔字串,從字串末尾開始拆分
>>> s = 'abcabcabcabca' >>> s.split('abca') ['', 'bc', 'bca'] >>> s.rsplit('abca') ['abc', 'bc', '']
-
-
str.strip([chars])
回傳原字串的副本,移除其中的前導和末尾字符, chars 引數為指定要移除字符的字串, 如果省略或為 None,則 chars 引數默認移除空白符, 實際上 chars 引數并非指定單個前綴或后綴;而是會移除引數值的所有組合
>>> s = '<abcdefabc<' >>> s.strip('<') 'abcdefabc' >>> s = '<cab def abc>' >>> s.strip('<>abc ') 'def'-
str.lstrip([chars])
回傳原字串的副本,移除其中的前導字符,也就是去除左邊的chars,
>>> s = 'abca' >>> s.lstrip('a') 'bca' -
str.rstrip([chars])
回傳原字串的副本,移除其中的末尾字符,也就是去除右邊的chars,
>>> s = 'abca' >>> s.rstrip('a') 'abc'
-
-
str.upper()
回傳原字串的副本,其中所有區分大小寫的字符均轉換為大寫
>>> s = 'abcABC' >>> s.upper() 'ABCABC' -
str.lower()
回傳原字串的副本,其所有區分大小寫的字符,轉換為小寫
>>> s = 'abcABC' >>> s.lower() 'abcabc'
以上內容參考自 Python 教程 —— Python 3.8.11檔案
– the End –
好啦,這篇文章就到這里了,以上就是我分享的全部內容,感謝閱讀!
本文收錄于專欄:Python學習筆記
關注作者,持續閱讀作者的文章,學習更多Python知識!
https://blog.csdn.net/weixin_52132159
推薦閱讀
- Python爬蟲 | 爬取b站北京奧運會開幕式彈幕,有多少人從東京奧運會跑過來的?
- 絕密!Python爬蟲告訴你刷分機器人背后的原理!這篇文章差點沒過審
- Python每天一道題:昆蟲繁殖問題?我把密密麻麻的幼蟲和成蟲搞定了
- 沒想到我連五年級的題目都解不出來?可不能被人小看,讓萬能的Python登場
- Python:程式猿怎么追女生?教你短短幾行代碼表白,告別表白尷尬!
- 想學Python不知從何入手?學習Python必備秘籍,附地址,速拿!
- Python標準庫:datetime 時間和日期模塊 —— 時間的獲取和操作詳解
- 學習筆記 | PyInstaller 使用教程——用pyinstaller打包exe應用程式【建議收藏!】
- 【Python爬蟲】爬蟲利器 requests 庫小結(建議收藏!)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/293706.html
標籤:AI
上一篇:【深度學習】卷積神經網路(CNN)簡介(入門級好文)
下一篇:機器學習 | 【05】集成學習
