学编程,最重要的不是多看多听,而是多敲,第一遍看着代码敲.第二遍不看代码敲,第三遍不看代码在限定的时间内敲完.
敲不出来怎么办? 返回上一个步骤,直到能完成下一个步骤.
控制结构
我们本节进入到 Python 3 程序的控制结构,包括两部分:选择控制和循环控制。
选择控制
非常多的编程语言都会使用 if 关键字作为流程控制,除此之外,Python 3 的流程控制还包括 elif 和 else 两个关键字,这两个在选择控制中都是可选的。elif 的意思是 else if,增加进一步的判断是否选择该路径。
举例说明,下面的代码:
>>> a = int(input(\”Please enter: \”))
Please enter: 10
>>> if a > 10:
… print(\’a> 10\’)
… elif a == 10:
… print(\’a ==10\’)
… else:
… print(\’a< 10\’)
input(\”Please enter: \”) 这句代码是使用 input 函数获取用户输入,input 中的参数字符串将输出到屏幕上,用户输入的内容会被函数返回,返回的值为字符串。如果不输入,程序将始终阻塞等待。
int(input(\”Please enter: \”)) 将用户的输入的字符串转成整数,并把数字赋值给变量 a。
这个例子中会根据输入的 a 的值不同选择不同的路径,可以将代码写入一个脚本文件中重复执行尝试不同的输入。
这里需要注意写 Python 语言的缩进,Python 的缩进非常严格,不像 C 语言那样使用 { 进行代码块的管理,Python 采用的方法是缩进,同样缩进的代码属于一个代码块,比如 if 或 else 下方的代码块必须保持严格的相同缩进。
缩进的时候一定不要混用空格和TAB,强烈建议只使用空格,为了保持良好的代码风格,建议使用四个空格作为缩进。
程序执行的截图:
循环控制
Python 中包含两种循环方式,一种是 for,一种是 while。
for 循环主要用在依次取出一个列表中的项目,对列表进行遍历处理。下一节中我们将详细讲解列表的数据结构,这里可以简单理解为一组值。
代码示例如下:
strlist = [\’hello\’,\’shiyanlou\’,\’.com\’]
for s in strlist:
print(s)
如果需要迭代一组数字列表,并且数字列表满足一定的规律,可以使用内置函数 range():
for a in range(10):
print(a)
range() 函数还有很多不同的使用方法,感兴趣可以查看 help 帮助文档。
另外一种循环是 while,while 不同于 for是使用一个表达式作为判断的条件,如果条件不能够达成则停止循环。
w = 100
while w > 10:
print(w)
w -= 10
这里要注意 w -= 10,等同于 w = w – 10。当 w 的值小于等于 10 的时候,循环退出。
我们在循环控制中,可以使用 break 和 continue 两个关键字,break 表示停止当前循环,continue 表示跳过后当前循环轮次中后续的代码,去执行下一循环轮次。
代码示例:
for a in range(10):
if a == 5:
break
print(a)
执行如下图,当 a 为 5 的时候循环退出:
w = 100
while w > 10:
w -= 10
if w == 50:
continue
print(w)
执行如下图,当 w 为 50 的时候不执行后续的print 代码: