Python---if判断 while循环
判断语句生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……考试成绩对人生的影响,不同的考试成绩对应着的结果,也就是不用的分支判断的定义如果条件满足,才能做某件事情,如果条件不满足,就做另外一件事情,或者什么也不做正是因为有了判断,才使得程序世界丰富多彩,充满变化!判断语句又被称为 “分支语句”,正是因为有了判断,才让程序有了很多的分支if 语句语法结构标准if条件
判断语句
生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……

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

判断的定义
- 如果 条件满足,才能做某件事情,
- 如果 条件不满足,就做另外一件事情,或者什么也不做
正是因为有了判断,才使得程序世界丰富多彩,充满变化!
判断语句 又被称为 “分支语句”,正是因为有了判断,才让程序有了很多的分支
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:判断合法用户
需求
- 创建 login2.py 文件
- 提示用户输入用户名和密码
- 获得到相关信息后,将其保存在变量中
- 如果用户输的用户名为 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:编写判断成绩的程序
需求
如果成绩大于60分,输出“及格”
如果成绩大于70分,输出“良”
如果成绩大于80分,输出“好”
如果成绩大于90分,输出“优秀”
否则输出“你要努力了”
编写判断成绩的程序
#需求
#如果成绩大于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:编写石头剪刀布小游戏
需求:
-
计算机随机出拳
-
玩家自己决定如何出拳
-
代码尽量简化
方案一:
#练习 : 编写石头剪刀布小游戏
#需求:
#计算机随机出拳
#玩家自己决定如何出拳 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 循环详解
在程序开发中,一共有三种流程方式:
- 顺序 —— 从上向下,顺序执行代码
- 分支 —— 根据条件判断,决定执行代码的 分支
- 循环 —— 让 特定代码 重复 执行

循环概述
- 一组被重复执行的语句称之为 循环体,能否继续重复,决定循环的终止条件
- Python 中的循环中 while 循环和 for 循环
- 循环 次数未知 的情况下,建议采用 while 循环
- 循环 次数可以预知 的情况下,建议采用 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)

更多推荐



所有评论(0)