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

Python 条件语句

Python 条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程:

clip_image001

Python程序语言指定任何非0和非空(null)值为true0 或者 nullfalse

Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:
   
执行语句……
else

   
执行语句……

其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。

else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:

# coding=utf8
#
1if 基本用法

flag = False
name = 'luren'
if name == 'python':         #
判断变量否为'python'
    flag = True          #
条件成立时设置标志为真

    print 'welcome boss'    #
并输出欢迎信息
else:
    print name              #
条件不成立时输出变量名称

输出结果为:

>>> luren         # 输出结果

if 语句的判断条件可以用>(大于)、=(大于等于)、<=(小于等于)来表示其关系。

当判断条件为多个值是,可以使用以下形式:

if 判断条件1:
   
执行语句1……

elif
判断条件2:
   
执行语句2……

elif
判断条件3:
   
执行语句3……

else:
   
执行语句4
……

实例如下:

# coding=utf8
#
2elif用法

num = 5    
if num == 3:            #
判断num的值
    print 'boss'       
elif num == 2:
    print 'user'
elif num == 1:
    print 'worker'
elif num < 0:           #
值小于零时输出    

    print 'error'

else:    

    print 'roadman'     # 条件均不成立时输出

输出结果为:

>>> roadman     # 输出结果

由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 3if语句多个条件

num = 9
if num >= 0 and num <= 10:    # 判断值是否在0~10之间
   
print 'hello'
>>> hello                #
输出结果

num = 10
if num < 0 or num > 10:    # 判断值是否在小于0或大于10
   
print 'hello'
else:
       
print 'undefine'
>>> undefine                #
输出结果

num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):   
   
print 'hello'

else:
   
print 'undefine'
>>> undefine                #
输出结果

if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

简单的语句组

你也可以在同一行的位置上使用if条件判断语句,如下实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
var = 100
 
if ( var  == 100 ) : print "
变量 var 的值为100"

 
print "Good bye!"

以上代码执行输出结果如下:

变量 var 的值为100
Good bye!

相关文章:

  • 多线程与资源
  • 理解javascript事件循环
  • Brup Suite 渗透测试笔记(五)
  • Java:枚举类enum
  • 数据库副本的自动种子设定(自增长)
  • Java入门篇(六)——类和对象
  • My year of 2017
  • 何玺:区块链的价值不止产比特币,在对未来商业逻辑的重构与创新
  • 5,元组
  • vue 前端上传图片组件
  • vuex 笔记整理
  • javascript 总结(常用工具类的封装)
  • 深入浅出webpack学习(1)--核心概念
  • Js基础知识(一) - 变量
  • Linux常用命令大全 (非常有用)
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Android Volley源码解析
  • Java 网络编程(2):UDP 的使用
  • javascript 总结(常用工具类的封装)
  • JavaScript的使用你知道几种?(上)
  • Just for fun——迅速写完快速排序
  • socket.io+express实现聊天室的思考(三)
  • 基于webpack 的 vue 多页架构
  • 聊一聊前端的监控
  • 深度解析利用ES6进行Promise封装总结
  • 微信小程序设置上一页数据
  • 在weex里面使用chart图表
  • 如何在招聘中考核.NET架构师
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #includecmath
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (003)SlickEdit Unity的补全
  • (23)Linux的软硬连接
  • (ZT)薛涌:谈贫说富
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (三)终结任务
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (四)JPA - JQPL 实现增删改查
  • (转)Oracle存储过程编写经验和优化措施
  • (转)winform之ListView
  • .gitignore文件设置了忽略但不生效
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .netcore 获取appsettings
  • .NET开发人员必知的八个网站
  • .NET中统一的存储过程调用方法(收藏)
  • .sh 的运行
  • @RequestBody与@ModelAttribute
  • @开发者,一文搞懂什么是 C# 计时器!
  • [ C++ ] STL---仿函数与priority_queue
  • [AIGC] Java 和 Kotlin 的区别
  • [APIO2012] 派遣 dispatching
  • [APIO2015]巴厘岛的雕塑