Python简单代码我无法修复帮助1!1.
这个JJ只是打印快板而不是---- 如何修复?这应该可以修复它:Python简单代码我无法修复帮助1!1.,python,python-3.x,python-2.7,Python,Python 3.x,Python 2.7,这个JJ只是打印快板而不是---- 如何修复?这应该可以修复它: def print_guessed(secret_word): new_word = secret_word for i in new_word: i = "-" return new_word print print_guessed("claptrap") 代码的问题是您试图通过索引修改字符串。然而,Python中的str对象是不可变的。你必须构造一个新字符串 请注意,此函数返回与其他人
def print_guessed(secret_word):
new_word = secret_word
for i in new_word:
i = "-"
return new_word
print print_guessed("claptrap")
代码的问题是您试图通过索引修改字符串。然而,Python中的str对象是不可变的。你必须构造一个新字符串
请注意,此函数返回与其他人建议的结果相同的结果。但是,由于它不需要循环,因此它更简单,也可能更快。如果您正在寻找一个带有for循环的答案,而不是更高效的+紧凑的列表理解,这就可以了。根据我的经验,对于初学者来说,最优雅的答案往往不容易理解,所以希望这能有所帮助
def print_guessed(secret_word):
return '-'*len(secret_word)
def print_guessed(secret_word):
return ''.join('-' for i in secret_word)
在上面,我们为secret\u word变量中的每个字符向new\u wordinitially empty添加“-”
正如许多人指出的,字符串在Python中是不可变的。请注意,new_word被分配了一个新值,而不是在for循环中的每次迭代中通过索引进行修改 返回re.sub[a-zA-Z],-,secret_wordFirst,string是不可变的,因此I='-'不会更改new_word中I的值。所以你最终只是给一个变量赋值,什么也不做。您可以做的是新建单词=列出机密单词并遍历位置。。。因为我在一个新单词中:新单词[I]='-'。。然后重新调整连接的字符串。joinnew_wordStrings是不可变的,循环变量根本不是这样工作的,你真的需要一个基本的教程。这是如何处理python请求的?我删除了那个标记。我认为做i='-'只是一个测试,op可能想为任何其他给定的字符更改字符串中的一个字符。@RafaelC这正是我的代码所做的:用'-'-替换所有字符–构造一个长度相同的'-'新字符串
def print_guessed(secret_word):
new_word = ''
for i in secret_word:
new_word += '-'
return new_word
print(print_guessed("claptrap"))