热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

偷学Python第四天:分支结构

偷学Python第四天:分支结构古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼文章目录偷学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 密码123456user_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.5print('面积: %.2f' % (area))
    else:print('不能构成三角形')


今日学习总结

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


推荐阅读
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了使用Python根据字典中的值进行排序的方法,并给出了实验结果。通过将字典转化为记录项,可以按照字典中的值进行排序操作。实验结果显示,按照值进行排序后的记录项为[('b', 2), ('a', 3)]。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了蓝桥训练中的闰年判断问题,并提供了使用Python代码进行判断的方法。根据给定的年份,判断是否为闰年的条件是:年份是4的倍数且不是100的倍数,或者是400的倍数。根据输入的年份,输出结果为yes或no。本文提供了相应的Python代码实现。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 流程控制之分支结构
    一. 什么是流程控制流程控制是程序代码执行的顺序。二. 事物执行流程1)顺序结构从上往下依次执行,我们之前所编写的代码都属于该结构2)分支结构事物的 ... [详细]
  • 广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元࿰ ... [详细]
author-avatar
jystmj-2009
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有