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

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

求教為什么不能這樣寫?

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

print?oUppers(['Hello',?'world',?101])

總是顯示第二行錯誤,無法運行。為什么呢?

正在回答

3 回答

你寫法比較拼湊,for后面跟篩選if是列表生成式才可以這樣,或者if寫到下面,注意空格

0 回復 有任何疑惑可以回復我~

列表表達式:

????????[表達式 for 變量 in 列表 if 條件]

你的寫法不符合語法,for前少表達式,你可以這么寫

def toUppers(L):

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

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


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

我認為是? 要么 這樣寫一行? x.upper()?for?x?in??L?if?isinstance(x,?str)?

或者是寫3行?for?x?in??L

if?isinstance(x,?str)

?x.upper()

你第2行提示錯誤是for循環并沒有緊跟if條件的,得分開寫。

????????

0 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

求教為什么不能這樣寫?

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

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

幫助反饋 APP下載

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

公眾號

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