当前位置: 首页 > news >正文

Python学习(三)流程控制

Python流程控制

  本章介绍 python 的基础流程控制。包括 if 条件语句、for 循环 和 while 循环语句; continue 及 break 的用法等。 基本用法与 C 和 Java 差不多,无 switch 语句。

  if 语句

     以下例为例,if(...)  括号内为一表达式,当为True(即成立)时,执行对应的代码段,注意,所有条件语句后方都需加冒号 : 

 1 ''' 判断用户输入的整数是几位数(暂不考虑用户输入非整数)
 2     为0                输出     It's zero.
 3     个位数            输出    It's a number below 10
 4     两位数            输出    It's a two-digit number
 5     三位数级以上     输出    It's digit is more than two
 6 '''
 7 user_input = raw_input("Please input a number: ")    # Python 2
 8 # user_input = input("Please input a number: ")      # Python 3
 9 n = int(user_input)            # 用户输入的类型为字符串,转换为整数类型
10 
11 if (n==0):
12     print("It's zero.")
13 elif (n<10):
14     print("It's a number below 10")
15 elif (n<100):
16     print("It's a two-digit number")
17 else:
18     print("It's digit is more than two")

     可能会有零到多个 elif 部分,else 是可选的。关键字 “ elif ” 是 “else if ” 的缩写,这个可以有效地避免过深的缩进。 if ... elif ... elif ... 序列于替代其它语言中的switch case语句。

 

  for 语句

     Python 中的 for 语句和 C Pascal 中的 有不同。通常的循环可能会由用户来定义迭代步骤和中止条件(如 C ),Python 的 for 语句依据任意序列(链表或字符串)中的子项,按它们在序列中的顺序来进行迭代。

1 # for 语句实例
2 string = "python"
3 for i in string:    
4     print(i)            # 字符串处理
5 list = ["l","i","s","t"]
6 for i in list:
7     print(i)            # 列表处理
8 for i in range(5):
9     print(i)            # range()函数,range(5) 表示 0 到 4 

    上述示例仅感受下 for 语句的写法,具体的会在之后的数据结构等章节详细阐述。

 

  while 语句

    while(...) 括号内表达式若为 True,则继续执行代码段;若为False,停止执行

1 # while语句实例
2 i=1
3 while(i<10):
4     print(i)
5     i += 1

    需要注意错误代码导致的无限循环,如:

1 i=1
2 while(i>0):
3     i += 1
4     print(i)

 

  break 、 continue 语句

    break     语句和 C 中的类似,直接跳出循环,执行循环后的语句

1 i=1
2 while(i<5):
3     if(i==3):
4         break
5     print(i)
6     i += 1


    continue  语句也是从C中借鉴来的,跳出当前循环,并执行下一次循环

1 i=1
2 for i in range(1,6):
3     if(i==3):
4         continue
5     print(i)

 

转载于:https://www.cnblogs.com/feeland/p/4353532.html

相关文章:

  • OpenGL学习(3)——Shader(补)
  • WebService到底是什么?
  • Java基础教程(24)--集合
  • 网页Gzip
  • 阿里云服务器防火墙相关命令
  • struts_22_xwork校验器列表使用说明
  • 洛谷 P1126 机器人搬重物
  • 自定义starter
  • 【转】js onclick用法:跳转到指定URL
  • 从0到1实现一个模块间通信的服务组件
  • Redis执行Lua脚本的情况
  • Java Static解析
  • 结构型模式:享元模式
  • Qtum研究院:近400万枚比特币不翼而飞?
  • 最大开源代码sourceforge 简介 及视音频方面常用的开源代码
  • @angular/forms 源码解析之双向绑定
  • 「面试题」如何实现一个圣杯布局?
  • 【mysql】环境安装、服务启动、密码设置
  • GitUp, 你不可错过的秀外慧中的git工具
  • HTTP--网络协议分层,http历史(二)
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • October CMS - 快速入门 9 Images And Galleries
  • Python打包系统简单入门
  • Python学习之路16-使用API
  • Redis字符串类型内部编码剖析
  • windows下mongoDB的环境配置
  • 后端_ThinkPHP5
  • 技术:超级实用的电脑小技巧
  • 经典排序算法及其 Java 实现
  • 区块链共识机制优缺点对比都是什么
  • 日剧·日综资源集合(建议收藏)
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • ​2021半年盘点,不想你错过的重磅新书
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (1)(1.13) SiK无线电高级配置(六)
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (Python第六天)文件处理
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (十) 初识 Docker file
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (算法)前K大的和
  • (五)IO流之ByteArrayInput/OutputStream
  • (转) Face-Resources
  • (转)Mysql的优化设置
  • .NET Standard 的管理策略
  • .NET 设计一套高性能的弱事件机制