1.代码块

以冒号作为开始,用缩进来划分区域,这个整体叫做代码块

if 5 == 5:
   print(1)
   print(2)
   
if True:
   print(3)
   print(4)
   
if False:
   print(5)
   print(6)
   print(7)
   
#其他语言使用{} 来划分作用域,而python使用的是代码块
#python的代码块可以提升整体的整齐度,提高开发效率
'''
#php js C
if (False){
     print(5)
}
'''
#注意点: 要么全部使用4个空格,要么全部使用1个缩进,这样才叫同一个作用域
#不能混写
if True:
   print(3)
   print(4)

2.if流程控制及分支结构

流程:代码执行的过程
流程控制:对代码执行的过程进行管控

顺序结构:代码默认从上到下依次执行
分支结构:细分在分为如下
循环结构:while ... for

分支结构:
    单项分支:
   双项分支:
   多项分支:
   巢状分支(if嵌套)

(1)单项分支

if 条件表达式:
    code1
    code2

如果条件表达式成立,返回Ture,执行下面的代码块
如果条件表达式不成立,返回False ,不执行下面代码块

zhaoyaowen = "帅哥"

if zhaoyaowen == "帅哥":
   print("请你吃烤串")
   print("请你喝啤酒")
   print("请你吃大腰子")

#双项分支 (必须从中选一个分支执行 2选1)
if 条件表达式:
    code1
    code2
else:
    code3
    code4
如果条件表达式成立,执行if 下面的代码块
如果条件表达式不成立,执行else下面的代码块

if中的代码块可以称之为真区间
else中的代码块可以称之为假区间
two = "野兽"
if two == "流氓":
   print("打他")
   print("掐他")
   print("吊起来,喂他辣椒水")
else:
   print("哄他")
   print("爱他")
   print("骗他兜里的钱包")

#input 等待用户输入字符串
res = input("请输入您的姓名:")
print("hello",res,type(res))

################################
提示用户名和密码
如果用户名是admin,并且密码是000
提示用户恭喜你,登录成功
否则提示用户名或密码错误
########################
user = input("请输入你的用户名:")
passwd = input("请输入你的密码:")
if user == "admin" and passwd == "000":
   print("恭喜你,登录成功")
else:
   print("用户名或密码错误")

(2)多项分支

if 条件表达式1:
    code1
    code2
elif 条件表达式2:
    code3
    code4
elif 条件表达式3:
    code5
    code6
else:
    code7

如果条件表达式1成立,直接执行if当中的代码块,如果不满足
依次向下判断,看是否条件表达式2成立,成立则执行对应代码块,
反之,继续向下判断,条件表达式3,如果成立执行对应代码块
反之,继续向下判断 如果都没有满足的条件 直接执行else中的代码块

elif 这个条件可以是0个 也可以是多个
else 这个条件可以是0个 也可以是1个

elif 如果有一个满足 剩下的条件表达式统统不执行,只执行那一个代码块

#(1)双项分支(二选一)
youqian = True
if youqian == True:
   print("我就嫁给他")
else:
   print("你是个好人")

youqian = False
youfang = False
youche = False
youyanzhi = False
youtili = False
#(2)多项分支 (多选一)
if youqian == True:
   print("我就嫁给他1")
elif youfang == True:
   print("我就嫁给他2")
elif youche == True:
   print("我就嫁给他3")
elif youyanzhi == True:
   print("我就嫁给他4")
elif youtili == True:
   print("我就嫁给他5")
else:
   print("快走吧老弟,一会赶不上二路汽车了7")

(4)巢状分支

(单项分支 双项分支 多项分支互相嵌套使用)

youqian = True
youfang = True
youche = True
youyanzhi = False
youtili = True

if youqian == True:
   if youfang == True:
      if youche == True:
         if youyanzhi == True:
            if youtili == True:
               print("你就是我的如意郎君1")
            else:
               print("恭喜你,成为我的1号备胎2")
         else:
            print("我向来与丑的人无缘,没有缘分3")
else:
   print("你是个大好人啊4")

Python 基础之if if else的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  2. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  3. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  4. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  5. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  6. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  7. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  8. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  9. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  10. python基础之编码问题

    python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...

随机推荐

  1. 通过ping和tracert命令来判断网络经过多少个路由。trace和route合作

    摘抄自: https://blog.csdn.net/foreverhuylee/article/details/49853075 当我们访问某个网络时,通过tracert命令,就能知道本机与目标主机 ...

  2. PTA的Python练习题(十八)

    第4章-20 求矩阵各行元素之和 遇到一个麻烦的事情: 上面a,b输入,如果一起输入转int会报错,因为int只能一对一 但是明明我分开来int了,下面第十行还是报错说我的b是string字符,难不成 ...

  3. 洛谷 P3865 【模板】ST表(模板)

    嗯... 题目链接:https://www.luogu.com.cn/problem/P3865 ST(Sparse Table)算法,运用了倍增的思想. 我们令f[i][k]数组表示区间[i, i ...

  4. C语言:使用递归解决汉诺塔问题。

    //汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘从下面开始按大小 ...

  5. c# 调用c++sdk时结构体与byte数组互转

    /// <summary> /// 由结构体转换为byte数组 /// </summary> public static byte[] StructureToByte<T ...

  6. cglib用法

    CGLib动态代理的介绍及用法(单回调.多回调.不处理.固定值.懒加载) 参照: https://blog.csdn.net/difffate/article/details/70552056 前面介 ...

  7. ZOJ007 Numerical Summation of a Series(纯数学)

    #include<bits/stdc++.h> using namespace std; int main() { double i; double k; for(i=0.000;i-2. ...

  8. 思科Catalyst 9K

    思科的新一代产品Catalyst9K,里面涉及了Catalyst9200.Catalyst9300.Catalyst9400.Catalyst9500.Catalyst9600和Catalyst980 ...

  9. IOS XE-show memory

    有些时候,我们可能会遇到IOS XE设备的high memory的情况.我们可以使用的命令去查看相关信息. 例如: Router# show version Router# show memory R ...

  10. CRS-1硬件维护

    一.CRS-1硬件介绍CRS-1 路由器是Cisco 推出的新的大容量骨干路由器,是一个支持多机箱扩展的路由系统.其设计容量可以扩展至72 个线卡机箱.8 个矩阵机箱,总交换容量达到92Tbps,具有 ...