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

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么這么寫只打印一個“HELLO”?

def toUppers(L):
#??? return [x.upper() for x in L if isinstance(x, str)]
?? ?
??? for x in L:
??????? if isinstance(x,str):
??????????? return x.upper()


print toUppers(['Hello', 'world', 101])

正在回答

3 回答

因為return的原因,for語句只執行了一次??梢詫⒚看蔚慕Y果存入一個list,讓后return這個list。修改后的代碼如下:

def toUppers(L):

? ? M=[]

? ? for x in L:

? ? ? ? if isinstance(x,str):

? ? ? ? ? ? m=x.upper()

? ? ? ? ? ? M.append(m)

? ? return M

print toUppers(['Hello', 'world', 101])


3 回復 有任何疑惑可以回復我~
#1

青萍之風 提問者

非常感謝!
2018-06-30 回復 有任何疑惑可以回復我~

檢測到第一個字符串return后導致函數直接運行結束


1 回復 有任何疑惑可以回復我~
#1

青萍之風 提問者

了解了,多謝
2018-06-30 回復 有任何疑惑可以回復我~

return 的意思就是返回

你第一次獲得HELLO就返回了

你應該等for循環結束之后再返回

2 回復 有任何疑惑可以回復我~
#1

青萍之風 提問者

了解了,多謝
2018-06-30 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758396    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

為什么這么寫只打印一個“HELLO”?

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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