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

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

我無法修復help1!1的Python簡單代碼

我無法修復help1!1的Python簡單代碼

UYOU 2021-05-04 13:17:21
def print_guessed(secret_word):    new_word = secret_word    for i in new_word:        i = "-"    return new_wordprint print_guessed("claptrap")這只是打印拍手而不是--------如何解決?
查看完整描述

3 回答

?
慕雪6442864

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

這應該解決它:

def print_guessed(secret_word):
    return '-'*len(secret_word)

您的代碼的問題是您試圖通過其索引來修改字符串。但是str,Python中的對象不是可變的。您必須構造一個新的字符串。

請注意,此函數返回的結果與其他人提出的結果相同。但是,它更簡單(并且可能更快),因為它不需要循環。


查看完整回答
反對 回復 2021-05-25
?
慕森王

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

def print_guessed(secret_word):

    return ''.join('-' for i in secret_word)


查看完整回答
反對 回復 2021-05-25
?
四季花海

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

如果您正在尋找答案for loop而不是更高效的緊湊列表理解方法,則可以這樣做。對于初學者來說,最優雅的答案通常不容易理解(根據我的經驗),因此希望對您有所幫助。


def print_guessed(secret_word):

    new_word = ''

    for i in secret_word:

        new_word += '-'

    return new_word

print(print_guessed("claptrap"))

在上面,我們為變量中的new_word每個字符添加“-” (最初為空)secret_word。


正如許多人指出的那樣,字符串在Python中是不可變的。請注意,new_word在內的每次迭代中,都會為其分配一個新值(而不是通過索引進行修改)for loop。


查看完整回答
反對 回復 2021-05-25
  • 3 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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