判断语句

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

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

判断的定义

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

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

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

if 语句语法结构

  • 标准if条件语句的语法

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

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

图例

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

**空字符串、空列表、空元组,空字典 **的值均为 False

[root@localhost day02]# vim demo03.py

if 5>3:
    print("ok")
else:
    print("no")



[root@localhost day02]# python3 demo03.py 
ok

 修改一下

if 5>6:
    print("ok")
else:
    print("no")

 

 第一条件为TRUE则打印输出yes,为FALSE则打印输出no

if 5>6:
    print("ok")
else:
    print("no")

###################################################################

#特殊写法:
if 0:
    print("0 yes")
else:
    print("0 no")

#只要是0的都是False,不管是0,0.0,-0都是一样的
if -0.0:
    print('为0的数字都为False')
else:
    print('值为0')

###################################################################
if "":       # 空字符串(长度为0):false,非空非字符串:true
    print("空字符串 OK")
else:
    print("空字符串 no")

###################################################################
if "  ":
    print("空字符串 OK")
else:
    print("空字符串 no")

###################################################################

if []:  # 空列表(长度为0):False,非空:True
    print("[] is ok")
else:
    print("[] no")


if [False]:  # 空列表(长度为0):False,非空:True,[False]:True
    print("[] is ok")
else:
    print("[] no")

if None:    # None:空 False
    print("None is ok")
else:
    print("None is no")
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
~                                            

 

 

练习 1:判断合法用户

需求

  1. 创建 login2.py 文件
  2. 提示用户输入用户名和密码
  3. 获得到相关信息后,将其保存在变量中
  4. 如果用户输的用户名为 bob,密码为 123456,则输出 Login successful,否则输出 Login incorrect
#练习 1:判断合法用户
#需求

#创建 login2.py 文件
#提示用户输入用户名和密码
#获得到相关信息后,将其保存在变量中
#如果用户输的用户名为 bob,密码为 123456,则输出 Login successful,否则输出 Login incorrect

username = input("用户名:")
password = input("密  码:") #input: 接收到的数据都是字符串类型
if username == "bob" and password == 123456:
    print("Login successful")
else:
    print("Login incorr")
#因为password值为字符串类型,而我们需要的password类型为数值型。无法比较,所以只能执行login incorr



#定义password类型为整型
username = input("用户名:")
password = int(input("密  码:"))
if username == "bob" and password == 123456:
    print("Login successful")
else:
    print("Login incorr")

if 扩展语句

语法结构:

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

需求

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

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

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

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

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

编写判断成绩的程序

#需求

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

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

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

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

#否则输出“你要努力了”

score = int(input("请输入成绩:"))
if score >= 90:
    print("优秀")
elif score >= 80:
    print("好")
elif score >= 70:
    print("良")
elif score >= 60:
    print("及格")
else:
    print("你要努力了")

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

需求:

  1. 计算机随机出拳

  2. 玩家自己决定如何出拳

  3. 代码尽量简化

方案一:

#练习 : 编写石头剪刀布小游戏
#需求:
#计算机随机出拳
#玩家自己决定如何出拳 player = input 
import random # 引入随机函数
all = ["st","jd","bu"] #存储出拳的选择
computer = random.choice(all) #用随机函数调用出拳的选择  计算机出拳
print ("computer:",computer)
player = input("player:") #玩家出拳
print ("player:",player )
if player == "st":
    if computer == "st":
        print("平")
    elif computer == "jd":
            print("玩家胜")
    else:
            print("计算机胜")
elif player == "jd":
    if computer == "jd":
        print("平")
    elif computer == "st":
        print("计算机胜")
    else:
        print("玩家胜")
else :
    if computer == "bu":
        print("平")
    elif computer == "jd":
        print("计算机胜")
    else:
        print("玩家胜")

 测试:

 

 方案二:

#玩家自己决定如何出拳
import random
player_win_list = [["st","jd"],["jd","bu"],["bu","st"]]
all = ["jd","st","bu"]  #存储出拳的选择
computer = random.choice(all)  #计算机随机出拳
print("computer:",computer)
player = input("st/jd/bu:") #玩家出拳
print("player:",player)
if player == computer:
    print("平局")
elif [player,computer] in player_win_list:
    print("玩家胜")
else:
    print("计算机胜")

while 循环详解

在程序开发中,一共有三种流程方式:

  • 顺序 —— 从上向下,顺序执行代码
  • 分支 —— 根据条件判断,决定执行代码的 分支
  • 循环 —— 让 特定代码 重复 执行

循环概述

  1. 一组被重复执行的语句称之为 循环体,能否继续重复,决定循环的终止条件
  2. Python 中的循环中 while 循环和 for 循环
  3. 循环 次数未知 的情况下,建议采用 while 循环
  4. 循环 次数可以预知 的情况下,建议采用 for 循环

何时使用

  • 减少重复性代码,提高代码效率

while 循环语法结构

  • 循环的作用就是让 指定的代码 重复的执行
  • while 循环最常用的应用场景就是 让执行的代码 按照 指定的次数 重复 执行

注意

  • while 语句以及缩进部分是一个 完整的代码块

案例:使用 while 循环计算1~50的和

#计算1-50的和
dc = 1
sum50 = 0
while dc <= 50:
    sum50 += dc
    dc += 1
print("sum50:",sum50)

break、continue 和 else

break 和 continue 是专门在循环中使用的关键字

  • break 某一条件满足时,退出循环,不再执行后续重复的代码
  • continue 某一条件满足时,跳过当前循环,不执行 continue 后续重复的代码

break 和 continue 只针对 当前所在循环 有效

dc = 1
sum50 = 0
while dc <= 50:
    if dc <= 2:
        print("break终止循环,剩余不执行")
        break
        print("break语句后面的代码都不执行")
    sum50 += dc
    dc += 1
print(sum50)

 

dc = 1
sum50 = 0
while dc <= 50:
    if dc == 2:
        print("continue跳过当次循环,立即执行下次循环")
        dc += 1
        continue
        print("continue后面的代码不会执行")
    sum50 += dc
    dc += 1
print(sum50)

dc = 1
sum100 = 0
while dc <= 100:
    if dc == 10:
        break
    sum100 += dc
    dc += 1
else:
    print("如果循环通过break退出,不执行else的逻辑")
print(sum100)

 

else

  • python 中的 while 语句也支持 else 子句

  • else 子句只在循环完成后执行

  • break 语句也会跳过 else 块

dc = 1
sum100 = 0
while dc <= 100:
   # if dc == 10:
   #     break
    sum100 += dc
    dc += 1
else:
    print("如果循环通过break退出,不执行else的逻辑")
print(sum100)

 

#练习 猜数字
#需求
#系统随机生成1-100内的数字
#要求用户猜 int(input("数字:"))
#最多猜5次,猜对结束程序 break
#如果5次全部猜错,则输出正确结果 else
import random
number = random.randint(1,100)
dc = 0
while dc < 5:
    guess = int(input("数字:"))
    if guess == number:
        print("猜对了\n")
        break
    elif guess > number:
        print("猜大了\n")
    else:
        print("猜小了\n")
    dc += 1  # 每猜一次,dc+1
else:
    print("正确结果:",number)

 

 

Logo

GitCode AI社区是一款由 GitCode 团队打造的智能助手,AI大模型社区、提供国内外头部大模型及数据集服务。

更多推荐