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

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

這代碼怎么不對

def toUppers(L):

? ? for x in L:

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

? ? ? ? ? ? return [x.upper()]

? ? ? ? else:

? ? ? ? ? ? return


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

為什么這個結果只有‘HELLO’



如果如下代碼怎么又出不來了,(只是少了else而已)

def toUppers(L):

? ? for x in L:

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

? ? ? ? ? ? return [x.upper()]

??

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


正在回答

2 回答

我將你的代碼做了一下修改,每一次循環后輸出的是一個值,而你的這一個值卻沒有地方存儲,這就是為什么到最后你輸出的只有第一個值。最后返回的值應該是個列表。

def toUppers(L):

? ? m=[]

? ? for x in L:

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

? ? ? ? ? ? m.append(x.upper())

? ? return m

? ? ? ? ??

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


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

第一個結果只有Hello是因為第一步做if的判斷語句,判斷元素x是不是字符串,是則輸出大寫,不是則返回空值,所以你的語句里缺乏for循環,去遍歷列表中的所有元素值

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

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

舉報

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

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

進入課程

這代碼怎么不對

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

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

幫助反饋 APP下載

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

公眾號

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