一、分支语句
1、语法格式一:(单一情况)
if 条件:
执行代码
2、语法格式二:(对立情况)
if 条件:
执行代码1(条件为真时,做的事情)
else :
执行代码2(条件为假时,做的事情)
3、语法格式3:(多情况)
if 条件1:
执行代码
elif 条件2:
执行代码
elif 条件3:
执行代码
.
.
.
else 条件n:
执行代码
4、if嵌套
if 条件:
if 条件:
执行代码
else :
执行代码
else:
执行代码
二、案例
完成“外卖结算”程序
要求:
满30减10块,满50减20,满100减50,会员折上再8折
分析:
1、输入的数据两个:
(1)价格
(2)是否会员
2、满减活动分4种情况,选择if..elif..else结构
3、在每种情况中做一件事,就是价格发生变化
price = float(input("请输入价格:"))
member = input("是否会员")
if price >= 100:
price -= 50
elif price >= 50:
price -= 20
elif price >= 30:
price -= 10
if member == "是":
price *= 0.8
print("最后价格是%.2f元" % price)
三、超长行处理
1、换行处\
2、对整体添加(),()中随意换行
【代码题】
练习 :考试成绩的问题:提示用户输入成绩,判断是属于哪个水平,将结果打印到控制台。
60以下不及格,60分以上为及格,70分至80分为合格,80分至90分为良好,90分以上为优秀。
例如:
请输入考试成绩:85
你的成绩是 85 ,成绩良好。
score = float(input("请输入考试成绩:"))
if score >= 90:
print("你的成绩是 %.f,成绩优秀。" % score)
elif score >= 80:
print("你的成绩是 %.f,成绩良好。" % score)
elif score >= 70:
print("你的成绩是 %.f,成绩合格。" % score)
elif score >= 60:
print("你的成绩是 %.f,成绩及格。" % score)
else:
print("你的成绩是 %.f,成绩不及格。" % score)
四、循环语句
1、while语法格式:
while 条件:
反复执行的代码
i = 0
while i < 5:
print("hello python")
i++
练习:
1-100之内数字累加求和
i = 1
sum = 0
while i < 101:
sum += i
i = i+1
print("sum:%d" % sum)
2、循环程序的书写误区
不是试图尝试帮计算机进行运算,在计算机面前你的那点计算能力还不够。
3、练习:打印三位回文数
# 如何判断是否回文数
# 百位==个位
number = 100
while number <= 999:
if (number // 100) == (number % 10):
print(number)
number += 1
(1)格式改造
输出结果的时候用逗号隔开
number = 100
while number <= 999:
if (number // 100) == (number % 10):
print(number,end=",") # print操作的结束符,默认用\n
number += 1
4、循环的终止
break:结束当前循环
continue:结束本轮循环
注意:
break与continue必须出现在循环体中
5、循环嵌套
# 演示循环嵌套
j = 1
while j <= 5:
i = 1
while i <= 3:
print(i, end=",")
i += 1
j += 1
6、练习:
'''
打印:
*
**
***
****
*****
'''
# 方法一:
i = 1
while i <= 5:
print("*" * i)
i += 1
# 方法二:
# 外层的循环变量i控制内层的循环变量j,达到循环嵌套的效果
熟练运用debug来找内外层变量的数量关系,从而找到关联
i = 1
while i <=5:
j = 1
while j <= i:
print("*", end="")
j += 1
print()
i += 1
5、演示99乘法表
思路:
1、单行信息的组成:%d * %d = %d
2、使用循环结构完成单个信息的多次输出
3、使用循环结果完成多行信息的多次输出
4、使用\t
j = 1
while j <= 9: # 控制多行
i = 1 # 如果放在代码首处,就不能新的一行从1开始递增了
while i <= j: # 单行的循环
print("%d*%d=%d" % (i, j, i*j),end="\t")
i += 1
print()
j += 1 # 行数递增
5、循环中的break和continue
break与continue仅能控制其所在的循环,不能控制其他循环结构
6、作业
打印
i = 1
while i <=5:
j = 1
while j <= i:
print("*", end=" ")
j += 1
print()
i += 1
i -= 1
while i >= 1: # 外层由K控制,K递减,因此换行后-1
h = 1
while h < i: # 内层循环由h控制,由于比上一行少1 ,所以不能等于k
print("*", end=" ")
h += 1
print()
i -= 1