龙空技术网

从零之009 半边斜坡(输入控制算法)

编程和中文 126

前言:

现时咱们对“算法的输入与输出”可能比较关心,兄弟们都想要了解一些“算法的输入与输出”的相关文章。那么小编同时在网上收集了一些关于“算法的输入与输出””的相关知识,希望各位老铁们能喜欢,兄弟们一起来学习一下吧!

输入控制是编程经常遇到的问题,输入控制的好程序就健壮,输入控制的不好,常常会变成我们所说的bug。

关键词:输入、条件语句、合理性约束

上一章,我们引入了输入问题,对于这个问题,我们需要考虑的问题就比较多了,比如下面一些问题:

明明必须要输入内容,但有人偏不输入内容就直接回车。

明明最多只能输入两个字符,但每有人偏要输入十个八个字符。

总之,一旦涉及输入的需要就有了各种各样的问题,但面对上一章的脚本,大概最少需要面对上面两个问题,其他的问题还很多,以后的脚本遇到再说。

先看一下上一章完整的程序《半边斜坡.py》

上一章完整的程序

看到这个程序我们发现,输入什么都可以,在很多情况下,这样是不行的。必须控制输入的内容,对后面程序的影响。

下面,我们改进程序,加两个条件,一个是必须要有内容;另一个是字符的长度不能超过两个字符。一旦不符合条件,直接报错。

改进好程序后看一下运行结果:

什么都不输入,直接回车

输入的字符串长度超过了两个

输入的字符串长度不超过两个,符合要求

上面放了三种不同输入的运行结果:

第一种什么都没输入,直接回车。

第二种输入了三个字符,不符合要求。

第三种输入两个字符,在范围之内。

于是看到了三种输出。

下面看一下改造好的程序:

改进的完整程序

这个程序中,标注的部分是改进的要点,引入了两个新的知识和一个算法。

知识点一:条件语句if ,格式参看上图程序。要点是,第一行后面一定要有英文半角的冒号“:”;条件里的内容语句一定要有相同的缩进。意思是条件满足的时候,执行条件语句后面的内容,以上图9到11号为例,满足第9行的条件后,就执行第10行和第11行的内容,不满足就不执行。第13行到第15行同理。

知识点二:测量字符串长速度的函数len(),函数可以测量字符串的长度,用法参见上图程序。例如:len(建筑材料) :就是测量建筑材料变量内容的字符串长度。

知识点三:引入了算法的概念,上面的程序我们看到,下面的循环要想进行,层数必须要小于9。因此,为了不让错误的输入进入到循环体中,遇到错误的输入,故意让层数等于10,这样还没进入循环体就结束了。这种控制,我们可以把它理解为是一种算法。只要数据不合规就破坏循环条件,从此也就没有了输出。就如上图中的程序语句:

层数=10

其它的程序段不需要解释了,前面的章节已经讲得很清楚了。

如果有兴趣的话,欢迎对这段程序实际验证一下。

标签: #算法的输入与输出 #算法的输入和输出