给了我下面的python类代码的开始。我已经和教授联系过了,但他还没给我回电话,这件事要在3.5小时后交。如果有人有关于如何开始的教程/指导,那就太棒了。我不希望任何人写这个代码!我只是需要一点指导!谢谢:)
用Python编写一个程序,提示用户输入一个介于10到3之间的整数(包括10到3),以及一个字符。然后使用这两个值来使用输入的字符显示一个框,该字符由输入的数字确定框的大小。在
以下是输出示例:
Enter size of box: 4
Enter a character: %
%%%%
%%%%
%%%%
%%%%
下面是另一个可能的输出:
^{pr2}$您的程序将只运行一次,但您必须使用重复构造来使用输入的值绘制框。在
提示:它应该是一个嵌套循环。打印的每一行都是一个循环,所以在循环结构中有循环;嵌套循环。在
如前所述,必须测试无效值,如果是,则显示错误消息并继续获取有效数字。在
在这里使用您自己的测试值。在
嵌套循环是循环中的循环。例如:
嵌套循环是循环中的循环。在
但它是如何工作的呢?在
执行外部循环语句,这将触发内部语句。然后,内部循环执行,直到完成。。在
因此,内部语句将继续进行,直到满足您设置的语句为止。在
然后,外部循环再次触发内部循环…它将永远触发内部循环,直到外部循环的语句得到满足。在
解决方案
让我们把这个问题分解成几个步骤。在
首先,我们需要从输入中获取一个整数,并确保该整数是
3
,10
,或介于两者之间的任何数字。这就是3到10包含的意思。然后我们需要向用户请求一个用于打印方框的字符。
在我们得到整数和字符之后,我们需要显示一个由字符组成的框,其宽度和高度由整数决定。
对于第一步,我们需要从用户那里获得输入。这可以使用内置函数
input()
。它接受可选的提示作为参数,并以字符串形式返回输入。我们把它写下来:太好了。现在我们需要将输入转换成一个整数,这样就可以在程序的其余部分中使用它。这可以使用内置函数
^{pr2}$int()
来完成。我们将传入字符串,并将其转换为整数:第二步是从用户那里获取一个字符。这很简单。我们将再次使用
^{3}$input()
从用户那里获得一个字符。但由于输入必须是字符,因此不应转换此值:好吧。到目前为止,我们得到的是:
最后一步是打印一个由}。现在我们需要做的就是打印一个
character
值组成的框,其宽度为integer
,高度为{integer
次characters
integer
次的行。这就是嵌套的for循环出现的地方。在我们知道每行的宽度必须是}的所有数字:
integer
。所以我们需要多次打印character
。我们可以使用range()
内置函数来完成此操作。我们传入integer
作为参数,它将生成从0
到{我们在for循环中使用下划线而不是实际可读的变量名的原因是,我们不需要使用for循环给我们的值。我们只关心重复我们的代码。在
end=""
部分告诉print()
内建函数每次调用新行时不要打印新行,因为我们希望所有字符都在一行中。for循环之前的print()
是在提示和程序输出之间添加一些空格。让我们看看目前为止我们的程序输出了什么:太好了。最后一件事是打印每行
integer
次。因为我们知道执行上面的for循环会打印一个行,所以我们只需要执行它integer
次来打印integer
行。所以我们将把这个for循环包装在另一个for循环中,并使用range()
来执行嵌套的for循环integer
次。我们将再次使用print()
,在每一行之间添加一个新行:就这样!完成了。让我们测试一下我们的程序:
如你所见,我们正在取得预期的产量。以下是最终方案:
错误处理
您可能还需要实现错误处理。这意味着让程序从用户输入的无效输入中恢复。在这种情况下,只有当我们向用户请求一个整数时,才会真正输入无效的输入。我们需要:
3
,10
或两者之间的任何数字。在为此,我们需要一个循环。这样我们就可以继续向用户请求有效的输入,直到他们这样做为止。我们可以使用
while True
循环。这意味着我们将继续循环,直到我们打破循环。在现在我们需要确保用户输入了一个有效的数字。我们可以使用
try/except
块。一个try/except
块的工作方式是,我们在try
传输中放置一段可能会引发错误的代码块。如果没有出现错误,我们继续正常的程序。但是,如果出现错误,Python将跳转到theexcept
块,其中的代码将被执行。在在我们的例子中,我们将尝试将用户输入转换为整数。如果失败,将引发
ValueError
。因此,我们需要捕获错误消息并将其打印给用户:剩下的就是测试输入的整数是否在正确的范围内。如果是这样的话,我们将中断循环,继续执行程序。如果没有,我们将显示一条错误消息并重试。下面是这个样子:
以下是完整程序中的上述内容:
下面是一个演示:
有关程序中错误处理的更多资源,请参阅问题:Asking the user for input until they give a valid response。在
相关问题 更多 >
编程相关推荐