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

python全栈开发笔记--------条件语句

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

 Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

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

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

 


 

 

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

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 例1:if 基本用法
 
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……

实例如下: 

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例2:elif用法
 
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 -*-
 
# 例3:if语句多个条件
 
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
View Code

当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!

 

练习题

1.使用while循环输入1 2 3 4 5 6   8 9 10

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

n= 1
while n<11:
    if n==7:       #if嵌套用法
        pass       #pass 跳过用法
    else:
        print(n)   #本行缩进
    n=n+1
    
View Code

2.求1-100的所有数的和

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

n=1
s=0
while n<101:
    s=s+n
    if n==100:
        print(s)
    else:
        pass
    n=n+1
"""
求1-100的所有数的和
1+2+3+4 .....+99+100

当n=1时候  s=0   。。。1

当n=2时候  s=1   。。。3

当n=3时候  s=3   。。。6

当n=4时候  s=6   。。。10
"""
View Code

3.输出1-100内的所有奇数

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

n=1
while n<101:
    press = n%2   #取余数,余数为1说明不能整除,则为奇数
    if press == 0:
        pass
    else:
        print(n)
    
    n=n+1
View Code

4.输出1-100内的所有偶数

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

n=1
while n<101:
    press = n%2   #取余数,余数为零说明能整除,则为偶数
    if press ==0:
        print(n)
    else:
        pass
    n=n+1
View Code

5.求1-2+3-4+5....99的所有数的和

#!/usr/bin/env pyhton
# -*- coding:utf-8 -*-

"""
给x赋值为0,给y赋值为0,while真,循环开始
如果x和2的余数等于0,那么x就为偶数,y的赋值就等于y减去x
否则x就为奇数,y的赋值就等于y加x
如果x等于100了,break跳出当前循环,x的赋值等于x加1一直循环到x等于100
打印y
"""
#求1-2+3-4+5...99的所有数的和
x = 0
y = 0
while True:
    if 0 == x % 2:
        y = y - x
    else:
        y = y + x
    if x ==100:
        break
    x += 1
# x=0  y=0   值0
# x=1  y=1   值1
# x=2  y=1-2   值-1
# x=3  y=-1+3 值2
# x=4  y=2-4 值-2
print(y)
View Code

6.用户登录(三次机会重试)

转载于:https://www.cnblogs.com/kangming-/p/9824094.html

相关文章:

  • 万网域名查询API接口
  • 字典树收集(初步读写锁实现线程安全,待续)
  • c#开发移动APP-Xamarin入门剖析
  • Pytest 生成Report
  • 小白创建一个spring boot项目
  • spring-boot项目中如何集成使用thymeleaf
  • Module build failed: Error: No PostCSS Config found
  • 面试疑云
  • 报表实时刷新显示时间
  • Linux SVN服务器的搭建配置及分支的创建与合并
  • 线程的定时器Timer
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • PhpStudy的安装及使用教程
  • [PHP] 算法-顺时针打印矩阵的PHP实现
  • Java集合-HashMap扰动函数
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Webpack 4 学习01(基础配置)
  • 测试如何在敏捷团队中工作?
  • 关于springcloud Gateway中的限流
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 离散点最小(凸)包围边界查找
  • 深度学习在携程攻略社区的应用
  • 使用 QuickBI 搭建酷炫可视化分析
  • 手机端车牌号码键盘的vue组件
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 因为阿里,他们成了“杭漂”
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • python最赚钱的4个方向,你最心动的是哪个?
  • zabbix3.2监控linux磁盘IO
  • #android不同版本废弃api,新api。
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #pragma multi_compile #pragma shader_feature
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (待修改)PyG安装步骤
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (循环依赖问题)学习spring的第九天
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)c++ std::pair 与 std::make
  • ./configure,make,make install的作用(转)
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET 反射的使用
  • .考试倒计时43天!来提分啦!
  • @TableLogic注解说明,以及对增删改查的影响
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [AR]Vumark(下一代条形码)
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
  • [C/C++随笔] char与unsigned char区别
  • [codevs 2822] 爱在心中 【tarjan 算法】
  • [CSS]CSS 字体属性