这是我的密码:
def getGuessedWordd(secretWord, lettersGuessed):
lga = "".join(lettersGuessed)
swa = "".join(secretWord)
jihadi = str()
jihad=" "
for c in swa:
if c in lga:
print c
if c not in lga:
print "_"
所有值打印如下:
a
第
第
我
电子
我想在迭代完成后把它打印成“apple”。我该怎么做?你知道吗
Tags:
您想导入sys并使用
sys.stdout.write(c)
有三种方法可以解决这个问题。你知道吗
首先,你没有理由一个接一个地打印出你找到的字符。相反,将它们累积成
list
(或者更好的是,yield
它们),然后join
结果并在最后打印出来。你知道吗例如:
第二,如果必须在找到它们时打印它们,则不能使用
print
。使用sys.stdout.write
。你知道吗第三,如果您可以升级到python3,那么您就可以使用
print
。你知道吗您可以通过其他一些方法来改进此代码:
lga
和swa
。如果lettersGuessed
和secretWord
已经是字符串,"".join(lettersGuessed)
与lettersGuessed
完全相同。但是,更重要的是,即使lettersGuessed
是一些完全不同的字符序列,这也无关紧要,因为你唯一要做的就是for
和in
检查。你知道吗jihad
和jihadi
。你知道吗str()
;它和""
一样。你知道吗if
语句;只需使用else
。你知道吗所以,我们可以简化整个过程:
一旦你这么做了,很明显循环和列表是一样的:
相关问题 更多 >
编程相关推荐