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

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

在這件事上嘗試了兩個小時,迭代、切片和連接字符串列表。代碼看起來很完美,但它給出了一個奇怪的輸出

在這件事上嘗試了兩個小時,迭代、切片和連接字符串列表。代碼看起來很完美,但它給出了一個奇怪的輸出

守著星空守著你 2023-12-09 15:49:49
#我的代碼def sec_soc_nam(friends):  for x in friends:    return "".join(x[0])print(sec_soc_nam(["tina","andre",'suzie']))#輸出:t#別人的解決方案def society_name(friends):    return ''.join(sorted(i[0] for i in friends))#輸出所需的結果:“ast”注意:忽略排序這是迭代不起作用......僅輸出第一項。我檢查過,但沒有丟失任何組件。
查看完整描述

4 回答

?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

如果您仍然想使用 join 關鍵字


def sec_soc_nam(friends):

  a = []

  for x in friends:

    a.append(x[0])

  return "".join(sorted(a))


print(sec_soc_nam(["tina","andre",'suzie']))


查看完整回答
反對 回復 2023-12-09
?
人到中年有點甜

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

如果你這樣編寫代碼

for x in friends:
    return "".join(x[0])

您將僅輸出第一個字符串(“tina”)的第一個字符(x[0])

因為返回指令基本上告訴你的函數停止在那里并返回第一個迭代值

僅當您收集了所有起始字符后才應執行返回

"".join(sorted(i[0] for i in friends))

這正是另一個函數的作用。

  • 首先從所有字符串中提取第一個字符 (x[0])

  • 之后按字母順序對你的字符進行排序(已排序)

  • 然后返回這些字符串的串聯(返回“”.join)


查看完整回答
反對 回復 2023-12-09
?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

def sec_soc_nam(friends):

  return " ".join(friends)


print(sec_soc_nam(["tina","andre",'suzie']))

您將返回每個循環的項目,而不是加入整個列表。


x[0] 返回該項的第一個字母


只需 print(" ".join(["tina","andre",'suzie'])) 就會為您加入列表


查看完整回答
反對 回復 2023-12-09
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

你的 for 循環中有一個返回賦值,所以你的程序在第一個循環后退出該函數,你可以嘗試這個:


def sec_soc_nam(friends):

   a=''

   for x in friends:

     a=a+x[0]

   return a


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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