4. 语句
4.1 行
(1) 物理行:程序员编写代码的行。
(2) 逻辑行:python解释器需要执行的指令。
(3) 建议:
一个逻辑行在一个物理行上。
如果一个物理行中使用多个逻辑行,需要使用分号;隔开。
(4) 换行:
如果逻辑行过长,可以使用隐式换行或显式换行。
隐式换行:所有括号的内容换行,称为隐式换行
括号包括: () [] {} 三种
显式换行:通过折行符 \ (反斜杠)换行,必须放在一行的末尾,目的是告诉解释器,下一行也是本行的语句。
# 4个物理行 4个逻辑行
a = 1
b = 2
c = a + b
print(c)
# 1个物理行 4个逻辑行(不建议)
a = 1;b = 2;c = a + b;print(c)
# 4个物理行 1个逻辑行
# -- 换行符
d = 1+\
2+\
3+4\
+5+6
# -- 括号
e = (1+2+
3+4
+5+
6)
4.2 选择语句
4.2.1 if elif 语句
(1) 作用:
让程序根据条件选择性的执行语句。
(2) 语法:
if 条件1:
语句块1
elif 条件2:
语句块2
else:
语句块3
(3) 说明:
elif 子句可以有0个或多个。
else 子句可以有0个或1个,且只能放在if语句的最后。
(4) 演示:
sex = input("请输入性别:")
if number == "男":
print("您好,先生")
elif number == "女":
print("您好,女士")
else:
print("性别未知")
练习1:
在终端中输入课程阶段数,显示课程名称
输入: 输出:
1 Python语言核心编程
2 Python高级软件技术
3 Web 全栈
4 项目实战
5 数据分析、人工智能
number = input("请输入数字:")
if number == "1":
print("Python语言核心编程")
elif number == "2":
print("Python高级软件技术")
elif number == "3":
print("Web 全栈")
elif number == "4":
print("项目实战")
elif number == "5":
print("数据分析、人工智能")
练习2:
在终端中录入4个同学身高,打印最高的值.
算法:
170 160 180 165
假设第一个就是最大值
使用假设的和第二个进行比较, 发现更大的就替换假设的
使用假设的和第三个进行比较, 发现更大的就替换假设的
使用假设的和第四个进行比较, 发现更大的就替换假设的
最后,假设的就是最大的.
效果:
请输入第1个同学身高:170
请输入第2个同学身高:160
请输入第3个同学身高:180
请输入第4个同学身高:165
最高的同学:180
height01 = int(input("请输入第1个同学身高:"))
height02 = int(input("请输入第2个同学身高:"))
height03 = int(input("请输入第3个同学身高:"))
height04 = int(input("请输入第4个同学身高:"))
max_value = height01
if max_value < height02:
max_value = height02
if max_value < height03:
max_value = height03
if max_value < height04:
max_value = height04
print("最大值是:"+str(max_value))
练习3:
根据心理年龄与实际年龄,打印智商等级。
智商IQ = 心理年龄MA 除以 实际年龄CA 乘以 100
天才:140以上(包含)
超常:120-139之间(包含)
聪慧:110-119之间(包含)
正常:90-109之间(包含)
迟钝:80-89之间(包含)
低能:80以下
ma = int(input("请输入心理年龄:"))
ca = int(input("请输入实际年龄:"))
iq = ma / ca * 100
# if iq >= 140:
# print("天才")
# elif 120 <= iq < 140:# 执行到本行,就是小于140,所以不用再次判断iq < 140
# print("超常")
# elif 110 <= iq < 120:
# print("聪慧")
# elif 90 <= iq < 110:
# print("正常")
# elif 80 <= iq < 90:
# print("迟钝")
# else:
# print("低能")
# 连续区间的判断:只需要判断单边
if iq >= 140:
print("天才")
elif iq >= 120:
print("超常")
elif iq >= 110:
print("聪慧")
elif iq >= 90:
print("正常")
elif iq >= 80:
print("迟钝")
else:
print("低能")
4.2.2 真值表达式
if 100:
print("真值")
# 等同于
if bool(100):
print("真值")
4.2.3 条件表达式
(1) 语法:变量 = 结果1 if 条件 else 结果2
value = 1 if input("请输入性别:") == "男" else 0
(2) 作用:根据条件(True/False) 来决定返回结果1还是结果2。
4.3 循环语句
4.3.1 while语句
(1) 作用:
可以让一段代码满足条件,重复执行。
(2) 语法:
while 条件:
# 满足条件执行的语句
else:
# 不满足条件执行的语句
(3) 说明:
else子句可以省略。
在循环体内用break终止循环时,else子句不执行。
count = 0 # 1. 开始
while count < 3: # 2. 结束
print(count) # 0 1 2
count += 1 # 3. 间隔
练习1:
在终端中循环录入5个成绩,
最后打印平均成绩(总成绩除以人数)
效果:
请输入成绩:98
请输入成绩:83
请输入成绩:90
请输入成绩:99
请输入成绩:78
平均分:89.6
"""
在终端中循环录入5个成绩,
最后打印平均成绩(总成绩除以人数)
"""
total_score = 0
count = 0
while count < 5:
count += 1 # 0 1 2 3 4
score = int(input("请输入成绩:"))
total_score += score
print("平均成绩" + str(total_score / 5))
练习2:
一张纸的厚度是0.01毫米
请计算,对折多少次超过珠穆朗玛峰(8844.43米)
思路:
数据:厚度、高度、
"""
# 一张纸的厚度是0.01毫米
# 请计算,对折多少次超过珠穆朗玛峰(8844.43米)
"""
thickness = 0.01 / 1000
height = 8844.43
count = 0
while thickness < height:# 对折
thickness *= 2
count += 1
print("第" + str(count) + "次对折的厚度是:" + str(thickness))
print("对折" + str(count) + "次")
练习3:
程序产生1个,1到100之间的随机数。
让玩家重复猜测,直到猜对为止。
每次提示:大了、小了、恭喜猜对了,总共猜了多少次。
效果:
请输入要猜的数字:50
大了
请输入要猜的数字:25
小了
请输入要猜的数字:35
大了
请输入要猜的数字:30
小了
请输入要猜的数字:32
恭喜猜对啦,总共猜了5次
"""
程序产生1个,1到100之间的随机数。
让玩家重复猜测,直到猜对为止。
每次提示:大了、小了、恭喜猜对了,总共猜了多少次。
"""
# 1. 准备随机数工具
import random
# 2. 产生随机数
random_number = random.randint(1, 100)
count = 0
while True:
count += 1
input_number = int(input("请猜数字:"))
if input_number > random_number:
print("大了")
elif input_number < random_number:
print("小了")
else:
print("恭喜猜对了,总共猜了" + str(count) + "次")
break
4.3.2 for 语句
(1) 作用:
用来遍历可迭代对象的数据元素。
可迭代对象是指能依次获取数据元素的对象,例如:容器类型。
(2) 语法:
for 变量列表 in 可迭代对象:
# 语句块1
else:
# 语句块2
(3) 说明:
else子句可以省略。
在循环体内用break终止循环时,else子句不执行。
message = "我是最美最靓袁冰妍"
for item in message:
print(item)
range 函数
(1) 作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)。
(2) 语法:
range(开始点,结束点,间隔)
(3) 说明:
函数返回的可迭代对象可以用for取出其中的元素
返回的数字不包含结束点
开始点默认为0
间隔默认值为1
# 写法1:range(开始,结束,间隔)
# 注意:不包含结束值
for item in range(1, 3, 1):
print(item)
# 写法2:range(开始,结束)
# 注意:间隔默认为1
for item in range(1, 3):
print(item)
# 写法3:range(结束)
# 注意:开始默认为0
for item in range(3):
print(item)
4.4 跳转语句
4.4.1 break 语句
(1) 跳出循环体,后面的代码不再执行。
(2) 可以让while语句的else部分不执行。
4.4.2 continue 语句
(1) 跳过本次,继续下次循环。(嗑瓜子例子)
# 需求:累加1-100之间能被3整除的数字
# 思想:不满足条件跳过,否则累加.
sum_value = 0
for item in range(1, 101):
if item % 3 != 0:
continue
sum_value += item
print(sum_value)
练习:累加10 – 60之间,个位不是3/5/8的整数和。