3.1 行
(1) 物理行:程序员编写代码的行。
(2) 逻辑行:python解释器需要执行的指令。
(3) 建议:
一个逻辑行在一个物理行上。
如果一个物理行中使用多个逻辑行,需要使用分号;隔开。
(4) 换行:
如果逻辑行过长,可以使用隐式换行或显式换行。
隐式换行:所有括号的内容换行,称为隐式换行
括号包括: () [] {} 三种
显式换行:通过折行符 \ (反斜杠)换行,必须放在
一行的末尾,目的是告诉解释器,
下一行也是本行的语句。
a = 1
b = 2
c = a + b
print ( c)
a = 1 ; b = 2 ; c = a + b; print ( c)
d = 1 + \
2 + \
3 + 4 \
+ 5 + 6
e = ( 1 + 2 +
3 + 4
+ 5 +
6 )
3.2 选择语句
3.2.1 if elif 语句
(1) 作用:
让程序根据条件选择性的执行语句。
(2) 语法:
if 条件1 :
语句块1
elif 条件2 :
语句块2
else :
语句块3
(3) 说明:
elif 子句可以有0个或多个。
else 子句可以有0个或1个,且只能放在if语句的最后。
(4) 演示:
number = int ( input ( "请输入数字:" ) )
if number > 0 :
print ( "正数" )
elif number < 0 :
print ( "负数" )
else :
print ( "0" )
练习1:
如果满足 职位是高管 或者 年薪大于50000的 条件
则显示“娶你”否则显示”继续努力 ”
练习2:
在终端中输入性别
打印"您好先生" "您好女士" "未知"
练习3:
在终端中输入课程阶段数,显示课程名称
效果:输入: 输出:
1 Python语言核心编程
2 Python高级软件技术
3 Web 全栈
4 项目实战
5 数据分析、人工智能
练习4:
在终端中录入4个同学身高,打印最高的值.
算法:
170 160 180 16
5假设第一个就是最大值
使用假设的和第二个进行比较, 发现更大的就替换假设的
使用假设的和第三个进行比较, 发现更大的就替换假设的
使用假设的和第四个进行比较, 发现更大的就替换假设的
最后,假设的就是最大的.
效果:
请输入第1个同学身高:170
请输入第2个同学身高:160
请输入第3个同学身高:180
请输入第4个同学身高:165
最高的同学:180
练习5:
根据心理年龄与实际年龄,打印智商等级。
智商IQ = 心理年龄MA 除以 实际年龄CA 乘以 100
天才:140以上(包含)
超常:120-139之间(包含)
聪慧:110-119之间(包含)
正常:90-109之间(包含)
迟钝:80-89之间(包含)低能:80以下
练习6:在终端中输入月份,打印相应的天数.
1 3 5 7 8 10 12 有 31天
2 有 29天
4 6 9 11 有 30天
超过月份提示月份有误
效果:
请输入月份:10
31天
3.2.2 真值表达式
if 100 :
print ( "真值" )
if bool ( 100 ) :
print ( "真值)
练习:在终端中输入一个整数,如果是奇数为变量state赋值"奇数",否则赋值"偶数"。
效果:
请输入数字:6
state变量存储的是:偶数
3.2.3 条件表达式
(1) 语法:变量 = 结果1 if 条件 else 结果2
value = 1 if input ( "请输入性别:" ) == "男" else 0
(2) 作用:根据条件(True/False) 来决定返回结果1还是结果2。
练习:
在终端中输入一个年份,如果是闰年为变量day赋值29,否则赋值28。
闰年条件:年份能被4整除但是不能被100整除,或者年份能被400整除
效果:
请输入年份:2020
2020年的2月有29天
3.3 循环语句
3.3.1 while语句
(1) 作用:
可以让一段代码满足条件,重复执行。
(2) 语法:
while 条件:
else :
(3) 说明:
else子句可以省略。
在循环体内用break终止循环时,else子句不执行。
count = 0
while count < 3 :
print ( count)
count += 1
练习1:
让下列代码重复执行,输入y继续(不输入y则退出)
sex = input ( "请输入性别:" )
if sex == "男" :
print ( "您好先生" )
elif sex == "女" :
print ( "您好女士" )
else :
print ( "未知" )
练习2:
在终端中显示0 1 2 3
在终端中显示2 3 4 5 6
在终端中显示1 3 5 7
在终端中显示8 7 6 5 4
在终端中显示-1 -2 -3 -4 -5
练习3:
在终端中循环录入5个成绩,
最后打印平均成绩(总成绩除以人数)
效果:
请输入成绩:98
请输入成绩:83
请输入成绩:90
请输入成绩:99
请输入成绩:78
平均分:89.6
练习4:
一张纸的厚度是0.01毫米
请计算,对折多少次超过珠穆朗玛峰(8844.43米)
思路:
数据:厚度、高度、次数
算法:厚度*=2 次数+=1
练习5:
程序产生1个,1到100之间的随机数。
让玩家重复猜测,直到猜对为止。
每次提示:大了、小了、恭喜猜对了,总共猜了多少次。
效果:
请输入要猜的数字:50
大了
请输入要猜的数字:25
小了
请输入要猜的数字:35
大了
请输入要猜的数字:30
小了
请输入要猜的数字:32
恭喜猜对啦,总共猜了5次
3.3.2 for 语句
(1) 作用:
用来遍历可迭代对象的数据元素。
可迭代对象是指能依次获取数据元素的对象,例如:容器类型。
(2) 语法:
for 变量列表 in 可迭代对象:
else :
(3) 说明:
else子句可以省略。
在循环体内用break终止循环时,else子句不执行。
message = "我是齐天大圣孙悟空"
for item in message:
print ( item)
练习:
在终端中输入任意整数,计算累加和.
"1234" -> "1" -> 累加 1
效果:
请输入一个整数:12345
累加和是 15
range 函数
(1) 作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)。
(2) 语法:
range(开始点,结束点,间隔)
(3) 说明:
函数返回的可迭代对象可以用for取出其中的元素
返回的数字不包含结束点
开始点默认为0
间隔默认值为1
for item in range ( 1 , 3 , 1 ) :
print ( item)
for item in range ( 1 , 3 ) :
print ( item)
for item in range ( 3 ) :
print ( item)
练习:
在终端中累加 0 1 2 3
在终端中累加 2 3 4 5 6
在终端中累加 1 3 5 7
在终端中累加 8 7 6 5 4
在终端中累加 -1 -2 -3 -4 -5
3.4 跳转语句
3.4.1 break 语句
(1) 跳出循环体,后面的代码不再执行。
(2) 可以让while语句的else部分不执行。
3.4.2 continue 语句
(1) 跳过本次,继续下次循环。
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的整数和。