在我的Python教科书中,他们制作了一个“Hangman”游戏。资料来源:http://pastebin.com/k1Fwp7zJ
在理解以下代码片段时遇到了极大的困难:
new = ""
for i in range(len(word)):
if guess == word[i]:
new += guess
else:
new += so_far[i]
so_far = new我不知道“我”到底是什么。我也不知道如何用英语“说”/imagine the For-循环。我无法理解/想象这个代码段中发生了什么,即使我已经完成了本章中的所有准备工作,并且到目前为止一切都是正确的。
在我的Hangman游戏的这一部分的计划/算法中,我写了:
*“检查单词的每个字符,并检查猜到的字母是否在单词中。如果猜到的字母在单词中,请注意其位置。然后转到"so_far”中的上述位置,并将其替换为猜测字母。“
我真的很头疼,想要理解这一段代码。当我试图自己写绞刑游戏,我总是被困在这里,我不知道如何做。
也许有人和我有过类似的处境。有人能解释一下这是什么意思吗?或许还有一种方法来理解这里剩下的代码?
发布于 2014-02-03 20:33:22
for循环遵循这个简单的设计:

让我们打破这条线:
for i in range(len(word)):首先,让我们看一看:
for i关键字for称为循环。它将重复/迭代相同的代码块,直到满足条件为止。i是当前变量(在本例中是数值变量)。假设有人说,把数字从1写到10,那么你的i就会从数字1到数字10。
in关键字in将声明上一个变量i将等于的值范围。让我们来分析一下:
range(len(word))这将转换为变量的length的range值。假设word等于"hello",那么长度是5,这意味着5的范围是0,1,2,3,4 ( range 不包括最终值)。
基本上,这是:
for i in range(len(word)):指:
iterate the variable `i` from the range of the length of the the variable `word`.一个简单的测试可以看出什么是i将代码更改为:
new = ""
for i in range(len(word)):
print i #this will print the values
if guess == word[i]:
new += guess
else:
new += so_far[i]
so_far = new记住,网上有很多教程:
https://stackoverflow.com/questions/21536810
复制相似问题