1.程序的分支结构

1.1 单分支

if <条件>:                       例:guess = eval(input())

   <语句块>                     if guess == 99:

  print(“猜对了”)

1.2二分支

if<条件>:

  <语句块1>

else:

<语句块2>

1.3紧凑形式:

适用于简单表达式的二分支结构

<表达式1> if <条件> else <表达式2>    #条件成立返回表达式1,否则返回表达式2

例:guess = eval(input())

print(“猜{}了”.format(“对”if guess==99 else “错”))

1.4多分支结构

if elif… else     注意多条件之间的包含关系;注意变量取值范围的覆盖

例:对不同分数分级问题

    score = eval(input())

    if score >= 90:

    grade = “A”

    elif score >= 80:

  grade = “B”

    elif score >= 70:

      grade = “C”

    elif score >=60:

    grade = “D”

    else:

   grade = “E”

    print(“输入成绩级别属于{}”.format(grade))

1.5条件判断操作符:

  >,<,<=,>=,==,!=

   用于条件组合的三个保留字:x and y #逻辑与,同时成立执行语句块;

  x or y  #逻辑或,一个成立就执行语句块;

  not x  #条件x的逻辑非

  -例:  guess = eval(input())

        if guess >99 or guess <99:                   if not true:

  print(“猜对了”)                                   print(“语句块1”)

       else:                                                      else:

   print(“猜错了”)                                       print(“语句块2”)

1.6程序的异常处理

1.6.1基本使用:

  #不发生异常执行语句块1,发生异常执行语句块2

  try:

    <语句块1>

  except: 或except<异常类型>:

    <语句块2>

  #在except后标注异常类型后,后续语句块智能响应同等类型的异常,异常类型是python内部定义的,不需要给出字符串形式

    例:try:

      num = eval(input(“请输入一个整数:”))

      print(num**2)

      except:  或except NameError:

   print(“输入不是整数”)

1.6.2高级使用:

  try:

    <语句块1>

  except:

    <语句块2>

  else:   #不发生异常时执行

    <语句块3>

  # 是否发生异常,都要执行

  finally:

    <语句块4>

1.7实例:身体质量指数BMI

  --国际上常用衡量人体肥胖与健康程度的重要标准,主要用于统计分析

  --定义:BMI=体重(kg)/身高²(m²)

  --问题需求:输入—给定体重和身高值;输出—BMI指标分类信息(国内和国际)

  #CalBMIv3.py

  height,weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))  

  bmi = weight / pow(height,2)

  print("BMI 数值为:{:.2f}".format(bmi))

  who,nat = "","" #定义空字符串存放内容,可以不写

  if bmi < 18.5:

    who,nat = "偏瘦","偏瘦"

  elif 18.5 <= bmi <24:

    who,nat = "正常","正常"

  elif 24<= bmi <25:

    who,nat = "正常","偏胖"

  elif 25 <= bmi < 28:

    who,nat = "偏胖","偏胖"

  elif 28 <= bmi <30:

    who,nat = "偏胖","肥胖"

  else:

    who,nat = "肥胖","肥胖"

  print("BMI指标为:国际'{0},国内{1}'".format(who,nat))

2.程序的循环结构

2.1遍历循环

  遍历某个结构形成的循环方式

    for <循环变量> in <遍历结构>:

      <语句块>

  --由for和in保留字组成,完整遍历所有元素后结束

  --每次循环,从变量结构中提取一个元素放入循环变量中,并执行一次语句块

2.1.1遍历循环的应用

  1.计数循环N次

  for i in range(N):

    <语句块>

  2.计数循环特定次

  for i in range(M:N:K)

    <语句块>

  --range(M:N:K)产生从M开始到N的前一位,K为步长,通俗来讲就是产生一个从M开始,每次加上步长K,值不到N的数字序列

  --步长K可以省略,即为0

  3.字符串遍历循环

  for c in s:

    <语句块>

  --遍历字符串中的每个字符,s为字符串,c为字符串中的每个字符(存储字符的变量)

  4.列表遍历循环

  for item in ls:

    <语句块>

  --ls为一个列表,遍历其中每个元素,产生循环

  5.文件遍历循环

  for line in fi:

    <语句块>

  --fi为文件标识符,可以理解为一个文件,遍历文件中的每一行,产生循环

2.2无限循环

  由条件控制的循环运行方式

  while <条件>:

    <语句块>

  --条件成立,则执行语句块,执行之后再判断条件,以此往复,直到不符合条件截止

2.3循环控制保留字

  --break:跳出并结束当前的整个循环,并执行循环后的语句,一个break只能跳出一层循环

  --continue:结束当次的循环,继续执行后续次数循环

  --二者均可以和for,while这样的循环搭配使用

  例:for c in "PYTHON":                for c in "PYTHON":

      if c == "T":                     if c == "T"

        continue                      break

      print(c,end="")                   print(c,end="")

    输出为:PYHON                  输出为:PY

2.4循环的高级用法

  循环与else

  for <循环变量> in <遍历结构>:              while <条件>:

    <语句块1>                       <语句块1>   

  else:                         else: 

    <语句块2>                       <语句块2>

  --当循环没有被break保留字退出时,执行else语句块

  --和异常处理中的else类似

  例:

    for c in "PYTHON":                for c in "PYTHON":

      if c == "T":                     if c == "T"

        continue                      break

      print(c,end="")                   print(c,end="")

    else:                       else:

      print("正常退出")                  print("正常退出") 

    输出: PYHON正常退出               输出: PY            

  

python学习之路2(程序的控制结构)的更多相关文章

  1. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  2. Python学习之路-Day2-Python基础3

    Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...

  3. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

  4. Python学习之路-Day1-Python基础

    学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...

  5. Python学习之路【第一篇】-Python简介和基础入门

    1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...

  6. python学习之路------你想要的都在这里了

    python学习之路------你想要的都在这里了 (根据自己的学习进度后期不断更新哟!!!) 一.python基础 1.python基础--python基本知识.七大数据类型等 2.python基础 ...

  7. python学习之路网络编程篇(第四篇)

    python学习之路网络编程篇(第四篇) 内容待补充

  8. python 学习之路开始了

    python 学习之路开始了.....记录点点滴滴....

  9. python学习之路,2018.8.9

    python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!

  10. Python学习之路——pycharm的第一个项目

    Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...

随机推荐

  1. Android DiskLruCache完全解析,硬盘缓存的最佳方案 --转载

    概述 记得在很早之前,我有写过一篇文章 Android高效加载大图.多图解决方案,有效避免程序OOM,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache ...

  2. Enumeration 接口的使用

          Enumeration是一个接口,定义了两个规则,可以获取连续的数据,对数据结构非常重要.       接口源码: publicinterfaceEnumeration<E>{ ...

  3. ACCESS模糊查询注意事项

    ACCESS模糊查询出现的问题,开发中需要注意!在SQL Server中模糊查询通常是这样的Select * from articleTable where authorName like '%jac ...

  4. Hadoop ->> MapReduce编程模型

    对于MapReduce模型的实现,有Java等一些语言实现了接口,或者用像Hive/Pig这样的平台来操作.MapReduce由Map函数.Reduce函数和Main函数实现.第一步,源数据文件按默认 ...

  5. 常见WEB开发安全漏洞 原因分析及解决

    目 录 1 会话标识未更新 3 1.1 原因 3 1.2 解决 3 2 SQL注入 3 2.1 原因 3 2.2 解决 5 3 XSS跨站脚本编制 5 3.1 原因 5 3.2 解决 5 4 XSRF ...

  6. elenium2学习(十六)-- 富文本(自动发帖)

    前言 富文本编辑框是做web自动化最常见的场景,有很多小伙伴遇到了不知道无从下手,本篇以博客园的编辑器为例,解决如何定位富文本,输入文本内容 一.加载配置 1.打开博客园写随笔,首先需要登录,这里为了 ...

  7. ZooKeeper 典型应用场景-数据发布与订阅

    ZooKeeper 是一个高可用的分布式数据管理与系统协调框架.基于对 Paxos 算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得 ZooKeeper 可以解决很多分 ...

  8. C#转Java之路之三:多线程并发容器即线程安全的容器

    CopyOnWriteArrayList 和 CopyOnWriteArraySet: 是java中两个比较重要的并发容器.适用于读多于写的场景,且集合数据不太大的场合. 特别是CopyOnWrite ...

  9. java--内存管理的几点小技巧

    今天看一本书,书上提到了内存泄露,后面也提到了内存管理的小技巧,在这里记下来,以免以后忘记. 1.尽量使用直接量.比如:String str = "I can play!";而不是 ...

  10. HDU 1757 A Simple Math Problem 【矩阵经典7 构造矩阵递推式】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=1757 A Simple Math Problem Time Limit: 3000/1000 MS (J ...