文章目录

  • 1. 分支结构
  • 1.1 条件
  • 1.2 代码块
  • 2. if 条件判断语句
  • 2.1 条件为True
  • 2.2 条件为False
  • 3. 语句组
  • 4. else 语句
  • 5. elif 语句
  • 6. if 嵌套
  • 7. 练习
  • 7.1 猜数字游戏1
  • 7.2 猜数字游戏2


python 满足某个if条件该方法不运行 if python 条件_缩进

1. 分支结构

分支结构开始部分通常是判断条件, 接下来是一个代码块(子句).
通过判断条件结果是 True 还是 False 控制程序执行方向.

python 满足某个if条件该方法不运行 if python 条件_用户名_02

1.1 条件
条件: 通过是一个表达式.
表达式: 由数字, 运算符 变量, 等能求得数值且有意义排列方法组合.
所有的表达式的结果都可以转为布尔值, 用于判断.

布尔值的结果可以分为两大类:
* 1. 显式布尔值 
	(0, 0.0, None, False, 所有为空的数据... )
	
* 2. 隐式布尔值 
	 所有的值都可以当成条件去用, 除了上面列举的值为False, 其它的值都为True.
1.2 代码块
代码块可以看成是 Python 代码的一个执行单元, 可以根据代码行的缩进判断代码块的开始和结束.
使用缩进来划分语句块, 相同缩进数的语句组成一个代码块.
	
代码块的三条规则:
* 1. 缩进增加时, 代码块开始. Python 的缩进使用4格空格.
* 2. 缩进减少为零或与外面包围的代码块对齐, 代码块就结束了.
* 3. 代码块可以包含其他代码块.

2. if 条件判断语句

if 条件判断语句: 对条件进行判断.
   为真: 执行代码块内的语句.
   为假: 跳过代码块内的语句, 往下运行.
    
结构: 
* 1. if 关键字.
* 2. 条件+冒号, 所有的控制语句都以冒号':'结尾, 后面紧跟着一个代码块.
* 3. 代码块, 代码块为if的子句.
2.1 条件为True
if 1 > 0:
    print(1)  # 1

print(2)  # 2

python 满足某个if条件该方法不运行 if python 条件_python_03

2.2 条件为False
if 1 < 0:
    print(1)

print(2)  # 2

python 满足某个if条件该方法不运行 if python 条件_用户名_04

python 满足某个if条件该方法不运行 if python 条件_用户名_05

3. 语句组

可以if条件判断语句的同一行的位置上写一段简单的语句, 不过这不符合 PEP8 规范.
英 PEP 8: E701 multiple statements on one line (colon)
中 PEP 8: E701一行多个语句(冒号)
* 不推荐在一行中写两个语句.
if 1 > 0: print(1)  # 1

4. else 语句

else 语句不包含条件, 跟随 if 语句使用, 当 if 语句判断的条件为 False 时, 执行 else 语句的代码块.

组合格式:
if 条件: 
	条件成立执行的子代码块.
else:
	条件不成立执行的子代码块.
# 获取用户输入字符串
pwd = input('请输入密码>>>: ')

# 判断用户输入
if pwd == '123':
    print('登录成功!')
else:
    print('密码错误!')
第一次运行--> 运行工具窗口提示:
请输入密码>>>: (123)
登录成功!
第二次运行--> 运行工具窗口提示:
请输入密码>>>: (456)
密码错误!

python 满足某个if条件该方法不运行 if python 条件_python_06

5. elif 语句

elif 语句在 与 if 语句后面出现, 仅在前面的条件为 False 时才会检查 elif 的条件, 
当条件为 True 时, 执行 elif 的代码块.

组合格式:
if 条件1: 
	条件1成立之后执行的代码块.
elif 条件2:
	条件1不成立, 条件2成立之后执行的子代码块.
elif 条件3: 
	条件1, 2不成立, 条件3成立之后执行的子代码块.
else:
	所有条件都不成立, 执行的代码块.
* 顺序判断每一个分支, 首先被命中并执行, 后面的所有分支被忽略, 直接跳过.
* 1. 写一个程序输入一下分数, 对成绩进行评级.
     90 分及以上 打印 '优秀'
     80 分及以上 打印 '良好'
     60 分及以上 打印 '及格'
     59 分以下 打印 '不及格'
# 1. 获取分数
branch = input('输入你的分数: ')

# 2. 判断分数属于哪个级别
# 2.1 分数大于或等于90分 打印 '优秀'
if branch >= '90':
    print('优秀')
# 2.2 分数大于或等于80分 打印 '良好'
elif branch >= '80':
    print('良好')
# 2.3 分数大于或等于60分 打印 '及格'
elif branch >= '60':
    print('及格')
# 2.4 分数小于60分 打印 '不及格'
else:
    print('不及格')
运行工具窗口提示:
输入你的分数>>>: (60)
及格

python 满足某个if条件该方法不运行 if python 条件_代码块_07

6. if 嵌套

代码块中可以包含其它代码块.
设计一个程序, 模拟登入, 先获取用户名, 然后校验用户名, 用户名不正确打印'用户名不存在'.
用户名正确, 打印'用户名正确', 继续让用户输入密码, 然后校验密码, 密码不正确打印'密码不正确',
密码正确, 打印'登录成功'.
# 1.获取用户名
username = input('请输入登入用户>>>: ')

# 2. 校验用户名
# 2.1 用户名正确
if username == 'kid':
    # 2.2.1 打印'用户名正确'
    print('用户名正确!')

    # 2.2.2 获取密码
    password = input('请输入用户密码>>>: ')
    # 2.2.3 校验密码成功
    if password == '123':
        # 2.2.3.1 打印'登录成功'
        print('登录成功!')
    # 2.2.4 校验密码不成功
    else:
        # 2.2.3.2 打印'密码不正确'
        print('密码不正确!')
        
# 2.2 用户名不正确
else:
    # 2.2.2 打印'用户名不存在!
    print('用户名不存在!')
运行工具窗口提示:
请输入登入用户>>>: (kid)
用户名正确!
请输入用户密码>>>: (123)
登入成功!

python 满足某个if条件该方法不运行 if python 条件_用户名_08

python 满足某个if条件该方法不运行 if python 条件_代码块_09

7. 练习

* 学习编程初期, 可以先写伪代码, 在将伪代码, 最后 使用 Python 的语法实现.
7.1 猜数字游戏1
1. 定义一个数字
2. 提示用户输入数字
3. 判断输入的数字是否是自己定义的数字
   3.1 猜对了 打印'猜对了'.
   3.2 猜错了 打印'猜错了'.
   
int() 函数将纯数字字符串转为整型. 例: int('1') --> 得到 1.
# 1. 定义一个变量存储需要猜的数字
num = 26

# 2. 获取用户输入的信息 (字符串)
guess_num = input('请输入你猜的数字: ')

# 3. 判断用户输入的数字是否正确
# 3.1 判断真确打印'猜对了!'
if int(guess_num) == num:
    print('猜对了!')
# 3.2 判断错误打印'猜错了!'
else:
    print('猜错了!')
运行工具窗口提示:
请输入你猜的数字: (26)
猜对了!
7.2 猜数字游戏2
1. 定义一个数字
2. 提示用户输入数字
3. 判断输入的数字是否是自己定义的数字
   3.1 猜对了 打印'猜对了'.
   3.2 猜的数字比实际值大, 打印'猜大了'.
   3.3 猜的数字比实际值小, 打印'猜小了'.
# 1. 定义一个变量存储需要猜的数字
num = 26

# 2. 获取用户输入的信息 (字符串)
guess_num = input('请输入你猜的数字: ')

# 3. 判断用户输入的数字是否正确
# 3.1 猜大了打印'猜大了!'
if int(guess_num) > num:
    print('猜大了!')
# 3.2 猜小了打印'猜小了!'
elif int(guess_num) < num:
    print('猜小了!')
# 3.3 猜对了打印'猜对了!'
else:
    print('猜对了!')
运行工具窗口提示:
请输入你猜的数字: (26)
猜对了!