04-python条件控制语句
1. 条件判断语句(if语句)
- 执行的流程:
1.if语句在执行时,会先对条件表达式进行求值判断,
2.如果为True,则执行if后的语句
3.如果为False,则不执行
语法:
- 码块代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
- 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
- 代码块就是一种为代码分组的机制
if 条件表达式 :
weight = 180
if weight > 160:
print("你体重有点超标了")
print("你该减肥了")
2. input() 函数
- 该函数用来获取用户的输入
a = input("请输入您的密码:")
- input()调用后,程序会立即暂停,等待用户输入
- 用户输入完内容以后,点击回车程序才会继续向下执行
- 用户输入完成以后,其所输入的的内容会以返回值得形式返回
语法:
- input(“提示语”)
input语句 :
a = int(input("请输入您的密码:"))
if a == 123456:
print("这是高手")
3. if-else语句
- 执行流程:
1.if-else语句在执行时,先对if后的条件表达式进行求值判断
2.如果为True,则执行if后的代码块
3.如果为False,则执行else后的代码块)
语法:
- 语法:
if 条件表达式 :
代码块
else :
代码块
if-else语句 ::
b = int(input("请输入密码:"))
if b == 123456789:
print("主人,欢迎回家")
else:
print("看来你不是我们的一员")
4. if-elif-else 语句
- 执行流程:
1.if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断
2.如果表达式的结果为True,则执行当前代码块,然后语句结束
3.如果表达式的结果为False,则继续向下判断,直到找到True为止
4.如果所有的表达式都是False,则执行else后的代码块
- 总结: if-elif-else中只会有一个代码块会执行
语法:
- 语法:
if 条件表达式 :
代码块
elif 条件表达式 :
代码块
elif 条件表达式 :
代码块
…
else :
if-elif-else 语句 :
height = float(input("请输入你的身高(单位为米):"))
weight = float(input("请输入你的体重(单位为千克):"))
bmi = weight/(height*height)
print("你的真实BMI指数为:"+str(bmi))
bmi_a = int(bmi)
bmi = str(bmi_a)
print("去零BMI指数为:"+bmi)
if bmi_a < 18.5:
print("你的体重过轻@_@;")
elif 18.5 <= bmi_a < 24.9:
print("你的体重在正常范围内,继续保持•̀ ω •́ ✧")
elif 24.5 <= bmi_a < 29.9:
print("你的体重过重≡▔﹏▔≡")
elif bmi_a>29.5:
print("肥胖x_x")
else:
print("输入错误")
5. while语句
- 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环和for循环
语法:
语法:
while 条件表达式 :
代码块
else:
代码块
while循环语句 :
i = 0
while i < 100:
print("这次考试,我考了{}分。".format(i))
i += 1
print("就差一分,我就满分了。")
6. 循环嵌套
- Python 语言允许在一个循环体里面嵌入另一个循环
语法:
while 表达式:
while 表达式:
代码块
代码块
---------------------------------------------------
for 变量 in 循环规则:
for 变量 in 循环规则:
代码块
代码块
7. break和continue
- break 可以用来立即退出循环语句,包括else语句
语法:
# 在while语句中使用break的语句如下:
while 条件表达式 1:
执行代码
if 条件表达式 2:
break
---------------------------------------------------
# 在for语句中使用break的语句如下:
for 迭代变量 in 对象:
if 条件表达式:
break
- continue 用来跳过当初循环
语法:
# 在while语句中使用continue的语句如下:
while 条件表达式 1:
执行代码
if 条件表达式 2:
continue
---------------------------------------------------
# 在for语句中使用continue的语句如下:
for 迭代变量 in 对象:
if 条件表达式:
continue
小练习
现在来检测一下你们的训练效果吧
- 求1000以内所有的水仙花数
tmp = 100
while tmp < 1000:
# 取余找出个位数
a = tmp % 10
# 求商取整找出百位数
b = int(tmp / 100)
# 通过求商取整找出百位和十位,然后求商找出十位
c = int(tmp / 10) % 10
if tmp == a**3 + b**3 + c**3:
print("%d" % tmp)
- 获取用户输入的任意数,判断其是否是质数?
a = int(input("请输入整数:"))
i = 2
while i < a :
if a % i == 0 :
print(a,"不是质数")
break
i += 1
else:
print(a,"是质数")
- 控制台输出9 9乘法表
while i < 10:
j = 1
while j < i+1:
print("%d × %d = %d" % (i, j, i*j), end="\t")
j += 1
i += 1
print("")
- 给用户9次机会 猜1 - 10 个数字内 随机来猜数字。如果随机的数字和用户输入的数字一致则表示正确,如果不一致则表示错误。最终结果要求用户怎么也猜不对 具体参见,点击此
import random
print("恭喜你获得了九次开奖的机会,快来参与吧!")
lottery_ticket = []
i = 0
while i < 9:
number = int(input('请输入一个0-9的数字:'))
lottery_ticket.append(number)
print('很遗憾,你没有中奖!')
i += 1
while True:
number_a = random.randint(0, 9)
if number_a in lottery_ticket:
continue
else:
break
print('本期开奖号码为:', number_a)