python专区--判断语句

判断语句

生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……

在这里插入图片描述

考试成绩对人生的影响,不同的考试成绩对应着的结果,也就是不用的分支

在这里插入图片描述

判断的定义

  • 如果 条件满足,才能做某件事情,
  • 如果 条件不满足,就做另外一件事情,或者什么也不做

正是因为有了判断,才使得程序世界丰富多彩,充满变化!

判断语句 又被称为 “分支语句”,正是因为有了判断,才让程序有了很多的分支

if 语句语法结构

  • 标准if条件语句的语法 缩进:python代码的层级关系,一般加4个空格

在这里插入图片描述

  • 如果表达式的值 非0 或者为布尔值 True,则代码组 if_suite 被执行;否则就去执行 else_suite

  • 代码组是一个 python术语,它由一条或多条语句组成,表示一个子代码块

图例

在这里插入图片描述

只要表达式数字为 非零值 即为 True

空字符串、空列表的值均为 False

[root@localhost day01]# vim demo01_if.py  # demo01_if.py是文件名,可以修改
# 代码1:
if 3 > 0:
    print('yes')
print('ok')

# 代码2:为0的数字都为False,True才执行;
if -0.0:
    print('为0的数字都为False')
else:
    print('值为0')

# 代码3:空格是空字符串,为True,会打印; 
if ' ':
    print('空格也是一个字符,为True')    

# 代码4:[False]为列表,列表中元素是False,因为列表存在,为真会打印;
if [False]: 
    print('非空列表,为真True')

# 代码5:None为假,取反为真; 
if not None:
    print('None为假,取反为真')

练习 :判断合法用户

需求

  1. 提示用户输入用户名和密码
  2. 获得到相关信息后,将其保存在变量中
  3. 如果用户输的用户名为 bob,密码为 123456,则输出 Login successful,否则输出 Login incorrect
[root@localhost day02]# vim login2.py  # login2.py是文件名,可以修改
# 定义两个变量 username 和 password,分别从键盘获取用户名和密码
username = input('请输入用户名:')
password = input('请输入密码:')

# 在python中等于号用 == 表示;input()函数获取的值都是字符类型,密码要用引号引起来
if username == 'bob' and password == '123456':
    print('Login successful')
else:
    print('Login inorrect')
print(" Login end ")

if 扩展语句

语法结构:
在这里插入图片描述

练习 :编写判断成绩的程序

需求

  1. 如果成绩大于60分,输出“及格”

  2. 如果成绩大于70分,输出“良”

  3. 如果成绩大于80分,输出“好”

  4. 如果成绩大于90分,输出“优秀”

  5. 否则输出“你要努力了”

编写判断成绩的程序

[root@localhost day02]# vim demo02_if.py  # demo02_if.py是文件名,可以修改
score = int(input('分数:'))
#程序的执行,是从上往下执行的;
#先判断大的数值,不满足再继续往下判断,可以简化程序代码
if score >= 90:
    print('优秀')
elif score >= 80:
    print('好')
elif score >= 70:
    print('良')
elif score >= 60:
    print('及格')
else:
    print('你要努力了!!!')

练习 :编写石头剪刀布小游戏

需求:

  1. 计算机随机出拳
  2. 玩家自己决定如何出拳
  3. 代码尽量简化

方法一:编写剪刀石头布小游戏

[root@localhost day02]# vim test01_if.py  # test01_if.py是文件名,可以修改
# 导入随机数的模块 random
import random
# 定义列表all_choices,存储出拳的每个选择
all_choices = ['石头','剪刀','布']
# random模块的choice方法,可以从变量中随机选出一个元素,随机出来的元素为电脑的出拳
computer = random.choice(all_choices)
# 使用input()函数,获取用户的出拳选择
player = input('请出拳(石头/剪刀/布):')
# 使用函数print()打印出电脑和玩家的出拳选择
print("Your choice:" + player + ", Computer's choice: " + computer)
# 当玩家出拳为【石头】时,电脑的每一种出拳选择都要和【石头】进行比较,打印结果
if player == '石头':
    if computer == '石头':
        print('平局')
    elif computer == '剪刀':
        print('You WIN!!!')
    else:
        print('You LOSE!!!')
# 当玩家出拳为【剪刀】时,电脑的每一种出拳选择都要和【剪刀】进行比较,打印结果
elif player == '剪刀':
    if computer == '石头':
        print('You LOSE!!!')
    elif computer == '剪刀':
        print('平局')
    else:
        print('You WIN!!!')
# 当玩家出拳为【布】时,电脑的每一种出拳选择都要和【布】进行比较,打印结果
else:
    if computer == '石头':
        print('You WIN!!!')
    elif computer == '剪刀':
        print('You LOSE!!!')
    else:
        print('平局')

方法二:

[root@localhost day02]# vim test02_if.py  # test02_if.py是文件名,可以修改
# 导入随机数的模块 random
import random
# 定义列表all_choices,存储出拳的每个选择
all_choices = ['石头','剪刀','布']
# 定义列表win_list, 将玩家赢电脑的选择,提前保存起来
# 每个子列表中,玩家为第一个元素,电脑为第二个元素
win_list = [  ['石头','剪刀'], ['剪刀','布'], ['布','石头']   ]
# random模块的choice方法,可以从变量中随机选出一个元素
# 随机出来的元素为电脑的出拳
computer = random.choice(all_choices)
# 使用input()函数,获取用户的出拳选择
player = input('请出拳(石头/剪刀/布):')
# 使用函数print()打印出电脑和玩家的出拳选择
print("Your choice:" + player + ", Computer's choice: " + computer)
# 如果玩家和电脑的出拳相同,则平局
if player == computer:
    print('平局')
# 如果[玩家,电脑]的列表,在win_list中,则可判断玩家赢,因为在win_list中定义了玩家赢得各种可能性   
elif [player,computer] in win_list:
    print('You WIN!!!')
# 玩家不是赢,那么就是输了,玩家所有赢得可能性已经在win_list定义了    
else:
    print('You LOSE!!!')

猜你喜欢

转载自blog.csdn.net/m0_52508197/article/details/127162936