学编程,最重要的不是多看多听,而是多敲,第一遍看着代码敲.第二遍不看代码敲,第三遍不看代码在限定的时间内敲完.

   敲不出来怎么办? 返回上一个步骤,直到能完成下一个步骤.

控制结构

我们本节进入到 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 代码:

 

 

©著作权归作者所有:来自51CTO博客作者互联网老辛的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Intel源代码泄露后,被国人查出来真的有后门,密码:Intel123
  2. 代码分析平台CodeQL学习手记(一)
  3. Gitlab利用Webhook实现Push代码后的jenkins自动构建
  4. 01.C语言学习(控制结构)
  5. python异常处理
  6. uni-app,Vue 使用 filter 过滤或者替换 v-for 的值
  7. 【JavaScript案例】视口高度,元素位置、滚动高度等位置属性详解及
  8. Linux核心技能与应用
  9. MySQL提升课程 全面讲解MySQL架构设计

随机推荐

  1. Spring Boot 开箱即用,内藏玄机
  2. 第二日学习
  3. Spring Boot 揭秘与实战 工作原理剖析
  4. Linux性能优化(一)——stress压力测试工具
  5. 安全要素与 STRIDE 威胁
  6. 在51CTO学院学习PMP,终于get证书
  7. 安全的软件开发生命周期
  8. 前后端分离,最佳实践
  9. 服务端开发指南与最佳实战 | 数据存储技
  10. 非功能性需求,不要成为项目的坑