程序即为一系列的指令,“控制流语句”决定在什么条件下执行哪些Python语句
布尔值
仅有两种值:True or False (首字母大写)
比较操作符
操作符 | 含义 |
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
<= | 小于等于 |
>= | 大于等于 |
布尔操作符
二元布尔操作符——and和or
表达式 | 求值 |
True and True | True |
True and False | False |
False and True | False |
False and False | False |
表达式 | 求值 |
True and True | True |
True and False | True |
False and True | True |
False and False | False |
not 操作符
表达式 | 求值 |
not True | False |
not False | True |
混合布尔和比较操作符
比较操作符求值为布尔值,可以混合布尔操作符进行使用,求值优先级 not>and>or
例如:(4 < 5) and (5 < 6);求值为True
控制流元素
条件
条件总是求值为一个布尔值 True or False
代码块
一些代码行作为一组形成代码块
- 缩进增加时,代码块开始
- 代码块中可以包含其他代码块
- 缩进为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 ("本轮游戏结束,请失败者接受惩罚")