亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“NoneType”類型的對象沒有用于正則表達式的 len()

“NoneType”類型的對象沒有用于正則表達式的 len()

翻過高山走不出你 2023-09-12 15:45:09
對于以下問題:使用正則表達式查找以下字符串中所有名稱的列表。我寫了這段代碼:import redef names():    simple_string = """Amy is 5 years old, and her sister Mary is 2 years old.     Ruth and Peter, their parents, have 3 kids."""    names= re.findall("[A-Z][a-z]*", simple_string)    print(names)    print(len(names))names()它給出了這樣的正確輸出: **['Amy', 'Mary', 'Ruth', 'Peter'] , 4** 但是,當我使用這個時: **assert len(names()) == 4, "There are four names in the simple_string"** 它給了我這個錯誤: **object of type 'NoneType' has no len()** 我不知道函數名稱中的錯誤在哪里,有人可以幫忙嗎?注意:我無法更改斷言函數,它在問題內。
查看完整描述

3 回答

?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

names()不返回任何內容,因此len()不起作用。嘗試添加 return(names). 我還會避免在函數內部使用函數名稱作為變量名稱。



查看完整回答
反對 回復 2023-09-12
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

當您打印names()to的輸出時sys.stdout,您不會返回其中變量的值names,這意味著函數本身返回None。添加return names到函數的末尾以使其他代碼正常工作。



查看完整回答
反對 回復 2023-09-12
?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

您調用len(names())此函數是詢問名稱函數返回的長度。它不返回任何內容,因此您會收到 NoneType 錯誤消息。



查看完整回答
反對 回復 2023-09-12
  • 3 回答
  • 0 關注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號