Bootstrap

Python速成笔记-控制流2

程序即为一系列的指令,“控制流语句”决定在什么条件下执行哪些Python语句

布尔值

仅有两种值:True or False (首字母大写)

比较操作符

操作符含义
==等于
!=不等于
>大于
<小于
<=小于等于
>=大于等于

布尔操作符

二元布尔操作符——and和or

and 操作符真值表
表达式求值
True and TrueTrue
True and FalseFalse
False and TrueFalse
False and FalseFalse
or 操作符真值表
表达式求值
True and TrueTrue
True and FalseTrue
False and TrueTrue
False and FalseFalse

not 操作符

表达式求值
not TrueFalse
not FalseTrue

混合布尔和比较操作符

比较操作符求值为布尔值,可以混合布尔操作符进行使用,求值优先级 not>and>or

例如:(4 < 5) and (5 < 6);求值为True

控制流元素

条件

条件总是求值为一个布尔值 True or False

代码块

一些代码行作为一组形成代码块

  1. 缩进增加时,代码块开始
  2. 代码块中可以包含其他代码块
  3. 缩进为0或与外面包围代码块对齐,代码块结束

控制流语句

if...else语句

格式:

if  <条件>:

else:

if name == "Jack":
    print ("Hi, Jack")
else:
    print ("Hello stranger")

if...elif语句

格式:

if  <条件>:

elif <条件>:

if name == "Jack":
    print ("Hi, Jack!")
elif age <=12:
    print ("You are not Jack")

while 循环语句

格式:

while <条件>:

a = 0
while a<10:
    a = a + 1
    print (a)

for循环和range()函数

格式:

for <变量名> in <集合名>:

total = 0
for num in range (0,5):
    total = total + num

range(参数1, 参数2, 参数3)

参数1:起始值

参数2:终止值

参数3:间隔值

break 语句

直接退出循环流程

continue 语句

退出本次循环,重新开始下一次循环

练习:数字炸弹小程序

  • 游戏通常在一定范围内进行,比如1~100。
  • 游戏开始前,主持人会随机选择一个数字作为炸弹。
  • 玩家们轮流猜测这个数字,每次猜测后,主持人会根据猜测结果缩小数字范围。
  • 如果玩家猜中了炸弹,则该玩家受到惩罚。
#数字炸弹小程序
import random
band = random.randint(1,100)
print ("我在数字1到100之间设置了一个数字炸弹,请玩家根据我的提示猜测一个数字,猜中数字炸弹者将会受到惩罚。")

guess = 0
low_num = 1
top_num = 100
while guess != band:
    print ("请猜测一个数字,数字范围为:",low_num, "-", top_num)   
    guess = int(input("你猜测的数字是:"))
    if (guess <= low_num) or (guess >= top_num):
        print("你猜测的数字不在规定范围内,请重新猜一个数字")
        continue
    
    if guess < band:
        print ("你很幸运,炸弹没有爆炸,炸弹的数字更大")
        low_num = guess
    elif guess > band:
        print ("你很幸运,炸弹没有爆炸,炸弹的数字更小")
        top_num = guess
    elif guess == band:
        print ("你很不幸,炸弹爆炸了")
print ("本轮游戏结束,请失败者接受惩罚")

;