大家好,偷学Python系列是由小甜同学从初学者的角度学习Python的笔记,其特点就是全文大多由新手易理解代码与注释及动态演示。刚入门的读者千万不要错过!

为了照顾基础阶段的读者,本文带来的是偷学Python第四天,分支结构的学习其他内容将在近期更新完毕。本文目录如下:

  • 偷学Python第四天——分支结构:

    • 应用场景

    • 条件

    • if语句的使用

    • 嵌套的分支结构

    • 案例练习

    • 今日学习总结

    • 明日学习计划

    • 甜甜有话说

应用场景


在应用过程中,会出现非顺序执行的代码,如当用户登陆是密码错误和密码正确该怎样执行、游戏结束时是得到的分数是可以进入下一关还是失败、淘宝购买商品时付款和没付款怎么区别等等,即在这过程中会产生至少两个分支,而且只有一个分支被执行,将这种结构成为分支结构

条件


Python语句是通过一条语句或条语句的执行结果(True或者False)来决定执行的代码块的,如下图(图源菜鸟教程)

if语句的使用


在Python中,要构造分支结构可以使用ifelifelse关键字。所谓关键字就是有特殊含义的单词,像ifelse就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的标识符也是不可以)


执行过程如下

示例流程代码

# 通过input键入用户名和密码
user = input("请输入用户名:")
passwd = input("请输入密码:")

# 将默认的用户名设置为amdin 密码123456
user_d = "admin"
passwd_d = "123456"

# 通过if,elif else梳理流程
if user == user_d and passwd == passwd_d:
     print("登陆成功")
elif user != user_d:
     print("用户名不存在")
else:
     print("密码错误")
  • 每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。

  • 一个登陆系统存在3中情况,1. 用户名和密码都吻合,登陆成功;2. 用户名不存在,登陆失败;3. 密码错误,登陆失败

  • 如果用户名和密码都吻合,打印登陆成功

  • 用户名不吻合打印用户名不存在

  • 前两种都排除了,就剩密码错误这一个条件了

缩进


Python中是使用缩进来表示代码结构的,也就是说想要在if语句中执行某条语句,只要赋予它相同的缩进即可。缩进可以使用任意数量的空格,但通常使用4个空格!

嵌套的分支结构

user_key = int(input("输入1进入登陆系统,输入0退出系统"))

# 通过if,elif else梳理流程
if user_key == 1# 只要用户输入1才能进入登陆系统界面
     # 通过input键入用户名和密码
     user = input("请输入用户名:")
     passwd = input("请输入密码:")
     # 将默认的用户名设置为amdin 密码123456
     user_d = "admin"
     passwd_d = "123456"
     if user == user_d and passwd == passwd_d:
          print("登陆成功")
     elif user != user_d:
          print("用户名不存在")
     else:
          print("密码错误")
elif user_key == 0:
     print("以退出")
else:
     print("输入错误")
  • 因为此时外层多了一层结构,所以就需要在if的内部构造出一个新的分支结构,同理elifelse中也可以再构造新的分支,称之为嵌套的分支结构

  • 但是如果如果可以不是用嵌套结构就尽量不使用,嵌套结构影响代码的可读性


案例练习


1.英制单位英寸与公制单位厘米互换(1英寸(in)=2.54厘米(cm))

value = float(input("请输入数值:"))
unit = input("请输入单位(英寸或in和厘米或cm):")

if unit == "in" or unit == "英寸":
     print("%.2f英寸=%.2f厘米" % (value ,value * 2.54))
elif unit == "cm" or unit == "厘米":
     print("%.2f厘米=%.2f英寸" % (value ,value / 2.54))
else:
     print("单位错误")


2.百分制成绩转换为等级制成绩

要求:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E。

score = float(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('对应的等级是:', grade)


3.输入三条边长,如果能构成三角形就计算周长和面积

  • 三角形的性质:三角形任意两边之和大于第三边,任意两边之差小于第三边。

  • 三角形的周长:三边相加

  • 三角形的面积:

a = float(input("请输入边长1:"))
b = float(input("请输入边长2:"))
c = float(input("请输入边长3:"))
##用于求出面积
s = (a + b + c) / 2
##首先判断可以不可以构成一个三角形
if a + b > c and a + c > b and b + c > a:
    print('周长: %.0f' % (a + b + c))
    area = (s * (s - a) * (s - b) * (s - c)) ** 0.5
    print('面积: %.2f' % (area))
else:
    print('不能构成三角形')

今日学习总结


学习了if语句的执行过程、应用场景、Python语言的结构、简单if语句和嵌套if语句的使用!


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

更多相关文章

  1. 动画:面试必刷之二叉树的子结构
  2. php设计模式之组合模式——处理树形结构数据
  3. 解析PHP标准库SPL数据结构
  4. 教你用php实现栈结构
  5. PHP实现抓取百度搜索结果,并分析数据结构
  6. 教你用php读取elf结构
  7. 树状数据结构存储方式(查询篇)
  8. 树状数据结构存储方式(CUD 篇)

随机推荐

  1. Android修改自己程序字体的方法详解
  2. Android:解决RadioGroup中RadioButton的图
  3. Android 常用组件,的常用类型
  4. Android开发EditText属性
  5. Android之ActivityManager与Proxy模式的
  6. Android Studio中使用android:src="@draw
  7. Android:控件布局(相对布局)RelativeLayout
  8. 【Android】附加Android源代码Androidand
  9. ANDROID:控件属性(很全)
  10. [置顶] NoHttp详解之Android使用Https