欢迎回来｡
你是怎么处理随机游戏的？
你能解决吗？
让我们在这里给予试｡
现在我将使用测试堆, 实际上, 我们将其重命名, 以免混淆｡
我要把它改名为random而不是random｡
好吧, 我会的
现在在这里, 我希望能够, 首先｡
好吧, 让我们想想我们需要什么｡
所以我们首先需要的是｡
生成｡
从一到十的数字｡
接下来我们需要做的是从用户那里获得输入, 对吗？
然后我们要做一些输入检查｡
假设输入是从1到10的数字｡
检查一下｡
如果数字是正确的猜测｡
不然的话｡
再问一次｡
所以这看起来是一个很好的程序, 我们可以写｡
那么, 我们如何才能做到这一点？
第一个任务是生成一个1到10的数字｡
我知道我肯定会想从这里导入随机库, 特别是在那里租int｡
所以我只能说从随机输入的租金暗示我们已经看到｡
在这里我可以生成数字｡
所以我们称之为答案是租金和｡
从1到10｡
这是我们机器生成的随机数, 我们需要尝试和猜测｡
接下来, 我们需要从用户那里获得输入｡
那么, 我们如何才能做到这一点？
嗯, 简单, 对吧？
我们可以从用户那里得到一个猜测作为输入, 然后得到提示｡
所以我们猜一个数字1到10｡
好吧, 看起来不错｡
检查一下输入值是1到10之间的数字｡
所以我们现在必须在这里做一些检查, 因为我们希望在用户猜测的时候继续循环｡
我将执行一个while true循环, 我们必须确保跳出这个循环, 这样就不会出现无限循环｡
在循环的第一部分, 我想检查用户输入了什么｡
所以我要说如果猜的话｡
我们马上知道输入会给予我们一个字符串, 所以我们必须确保先把它转换成INT｡
那就这么办吧｡
我要说｡
如果｡
不是｡
猜猜看
是的｡
更好的｡
然后一个｡
还有它｡
猜不到｡
11.
在我们的例子中, 我们取0, 因为我们要确保如果是1, 它仍然是好的｡
如果是10, 那还是好的｡
那样的话？
好吧, 我们可以试试看是不是那个客人｡
现在就去
如果失败会发生什么？
如果用户输入了一个不能转换为int的字符串呢？
例如, 如果我在我的终端打开Python解释器, 输入int, 然后输入一些乱码,
我给予得到一个值错误, 对于以10为基数的int, 无效的文字｡
我不知道你要做什么, 所以我们可以在这里检查值错误｡
所以我要说的是｡
就是要试试｡
这段代码｡
现在, 我们就从这里过去｡
如果由于某种原因, 它没有通过, 我们将检查值错误, 然后我将打印｡
请输入｡
一个数字｡
太棒了｡
所以我们要检查输入是否是1到10的数字｡
所以现在, 为了确保这是工作, 让我们这样做｡
让我们打破这个循环或打印｡
这里一切正常｡
跳出这个循环, 考虑到我们现在输入的是1到10｡
让我们把它做小一点这样你就能看得更清楚｡
你去那里｡
在这里, 我们继续循环, 直到得到正确的答案.
同样, 我们导入了rendent, 生成了一个从1到10的随机数｡
我们正在从用户那里得到猜测｡
然后我们要检查输入是否是1到10的数字｡
所以我有一个循环, 我会一直运行下去, 我会问它是0到11之间的数字｡
如果是的话, 那我们就没事了｡
如果因为某种原因我们找到了一个估价师, 我们会说, 嘿, 请输入我们的号码｡
我们来测试一下｡
我要去我的终端｡
或者, 我们可以在这里运行｡
我们开始吧｡
好吧, 我会的
猜一个1到10的数字｡
然后我就没事了｡
我觉得我们需要一点空间｡
看起来有点奇怪｡
我们就说GSA编号1到10, 然后得到一些空格｡
再来一遍｡
你去那里｡
事实上我已经注意到了一个我们需要修复的bug, 假设我输入了gibberish｡
哦, 天哪｡
请再次输入我们的号码｡
请输入一个数字｡
我们必须阻止它因为它会被摧毁｡
好吧, 这里发生了什么？
好吧, 我们没有打破这个循环｡
我们继续, 我们只是继续前进｡
壁来｡
我们不断得到一个值错误｡
所以你在这里要小心｡
记住我们继续｡
它会回到部落区或者回到循环区, 然后再试一次.
但我们并不是在要求输入或新的输入｡
同样, 这也会失败｡
然后又发生了一个值错误, 然后这个会失败｡
发生另一个值错误｡
所以我们需要把这个猜想｡
在这里面
就在部落锁里面｡
现在如果我运行这个｡
好吧, 让我们猜一个数字｡
让我们给予胡言乱语｡
我得到了｡
嘿, 请输入一个数字｡
好吧, 我们输入一个数字｡
我们会的
我们进去｡
零怎么样？
不知道｡
这不管用｡
它会一直问我, 因为我们输入的数字, 小于1比10.
但这是个错误的答案｡
我们可能查错了｡
你知道吗？
就这么办吧
我们再说别的吧｡
嘿, 笨蛋｡
我说的是一到十｡
那会很有趣的｡
好吧, 我们开始吧｡
让我们做零｡
嘿, 笨蛋｡
我说的是1到10｡
好吧, 我们做五个｡
嘿, 你好
我猜是1到10的数字｡
一切都很好｡
一切都好｡
好吧, 我会的
所以现在我要做的就是看看这个猜测是否和这里的答案相匹配｡
在我这么做之前, 你可以看到这个馅饼的魅力ID给了我一个小小的提示, 一条黄线, 它说,
嘿, 这个简化的链比较实际上可以改进｡
这就是身份证如此强大的原因｡
在这里我可以把它简化｡
我可以说如果它猜是｡
高于零｡
而且还不到十一点｡
然后做这个, 看看那个｡
我只是简化了代码｡
编辑给了我一个很好的提示｡
好吧, 我会的
我们从这里过去｡
所以不用说打印, 一切都好｡
假设｡
这是事实｡
我们会有另一个条件, 如果int.
猜猜看
等于答案｡
我们会打印出来的｡
你的｡
答｡
真是天才
我们会摆脱困境的｡
现在注意我们是怎么做的｡
猜了几次｡
也许一个更好的方法是在这里结束这样我们就不会重复, 一遍又一遍的运行同一个函数了｡
就这样猜一猜｡
因此, 我们再次清理了代码, 使其读起来更像英语｡
那很好｡
现在如果我们运行这个｡
猜猜他们的号码, 比如说五个｡
不, 这不对｡
我们做六个｡
七个呢？
八, 九？
这家伙是个坚韧的家伙
一, 二, 三, 四｡
哦, 来吧｡
是十个吗？
哇哦｡
我们绝对不是天才, 因为我们刚刚, 嗯, 试了十次, 但这看起来很有效｡
让我们通过作弊来确保我们的工作是正确的｡
我将在这里打印出来｡
的答案｡
所以我在输入之前先看看答案是什么｡
让我们这样做实际上｡
就在这里｡
如果我单击“运行”｡
好吧, 我会的
如果我输入的, 则为的数字｡
好吧, 我会的
现在我是个天才了｡
第一次尝试｡
好吧, 我们作弊了, 但看起来这是工作｡
那很酷｡
最后一部分是, 到目前为止, 我一直使用输入,
但我说我希望在终端中运行它, 我希望能够实际上很好地为它给予参数｡
好吧, 我知道了
我们给予了它run int的start参数和end参数, 这样我们就可以让游戏变得像我们想的那样难｡
这很简单｡
我们这里有进口系统｡
我们简单地说cis. rgv｡
第一个参数, 请记住, 第一个参数是文件名, 然后是｡
第三个参数, 就是我们给它的数字｡
现在让我们使用这个文件｡
我们复制代码｡
就这个例子来说, 因为它比较简单, 我们只把它添加到sublime文本文件中｡
哦, 看起来我们还得在这里做系统V｡
别忘了这点｡
所以我们也要解决这个问题｡
就像这样
这样好多了
如果我们运行这个函数, 而不是int, 因为记住, 我们给予它的参数会变成字符串｡
所以我们只需要确保我们把它转换成这样的事件｡
现在, 如果我们复制这个
把这个拿过来｡
再来一遍｡
所以我按这里是因为它记住了我之前的命令｡
让我们来给予试吧｡
猜一个数字一或二｡
就一个吧｡
你去那里｡
我是个天才, 但我们的计划不起作用｡
我们的猜谜游戏现在起作用了｡
非常, 非常酷｡
如果你得到这份好工作｡
如果你没有, 那么, 你可以看看我的代码, 希望能找到你错在哪里｡
但能走到这一步很不错｡
下次见｡
再见, 再见, 再见