(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)
if 条件1:
语句块1
elif 条件2:
语句块2
else:
语句块3,以上条件都不满足
elif 子句可以有0个或多个。
else 子句可以有0个或1个,且只能放在if语句的最后。
各条件之间互斥
调试:让程序中断,逐语句执行,审查执行过程中变量取值
步骤:加断点,开始调试,逐语句执行F8
断点:必须要有用的地方,空行位置无法设置断点。
调试目的:目标与现状是否一致
编程提升点1:
"""
练习2:
在终端中输入课程阶段数,显示课程名称
效果:
输入: 输出:
1 Python语言核心编程
2 Python高级软件技术
3 Web 全栈
4 人工智能
"""
num = int(input("请输入数字:"))
if num == 1:
print("Python语言核心编程")
elif num == 2:
print("Python高级软件技术")
elif num == 3:
print("Web 全栈")
elif num == 4:
print("人工智能")
else:
print("输入错误")
# 优化,不需要转换,没有用到计算
num = (input("请输入数字:"))
if num == "1":
print("想想Python语言核心编程")
elif num == "2":
print("Python高级软件技术")
elif num == "3":
print("Web 全栈")
elif num == "4":
print("人工智能")
else:
print("输入错误")
编程提升点2:
"""
练习4:
根据心理年龄与实际年龄,打印智商等级。
智商IQ = 心理年龄MA 除以 实际年龄CA 乘以 100
天才:140以上(包含)
超常:120-139之间(包含)
聪慧:110-119之间(包含)
正常:90-109之间(包含)
迟钝:80-89之间(包含)
低能:80以下
"""
sys_age = int(input("请输入心理年龄:"))
real_age = int(input("请输入实际年龄:"))
IQ = sys_age / real_age * 100
# if IQ > 140:
# print("天才")
# elif 120 <= IQ <= 139:
# print("超常")
# elif 110 <= IQ <= 109:
# print("聪慧")
# elif 90 <= IQ <= 109:
# print("正常")
# elif 80 <= IQ <= 89:
# print("迟钝")
# else:
# print("低能")
# 优化
if IQ > 140:
print("天才")
elif 120 <= IQ:
print("超常")
elif 110 <= IQ:
print("聪慧")
elif 90 <= IQ:
print("正常")
elif 80 <= IQ:
print("迟钝")
else:
print("低能")
while True: 循环体 if 条件: break
while循环计数 三要素:开始,结束,间隔 开始 while 结束: 间隔
编程能力提升练习1:
"""
让下列代码重复执行,输入y继续(不输入y则退出)
number = int(input("请输入数字:"))
if number > 0:
print("正数")
elif number < 0:
print("负数")
else:
print("零")
"""
while True:
number = input("请输入数字:")
if int(number) > 0:
print("正数")
elif int(number) < 0:
print("负数")
else:
print("零")
if number == "y":
break
# 正确解答
while True:
number = int(input("请输入数字:"))
if number > 0:
print("正数")
elif number < 0:
print("负数")
else:
print("零")
if input("请输入y键继续:") != "y":
break
编程能力提升练习2:
count = 0
while True:
print("跑圈")
count += 1
if count == 5:
break
# 等价于:
while count < 5:
print("跑圈")
count += 1
编程能力提升练习3:
"""
练习5:
程序产生1个,1到100之间的随机数。
让玩家重复猜测,直到猜对为止。
每次提示:大了、小了、恭喜猜对了,总共猜了多少次。
"""
# import random
# num = random.randint(1,100)
# print(num)
# input_num = int(input("请输入猜数:"))
# max = num
# while num != input_num:
# if input_num > num:
# print("猜大了")
# else:
# print("猜小了")
# input_num = int(input("请输入猜数:"))
# print("您猜对了")
# 升级
# import random
# num = random.randint(1,100)
# print(num)
# input_num = int(input("请输入猜数:"))
# max_value = 100
# min_value = 0
# while num != input_num:
# if input_num > num:
# max_value = input_num
# print("输大了")
# print("输入区间为:%d ~ %d" % (min_value, max_value))
# else:
# min_value = input_num
# print("输大了")
# print("输入区间为:%d ~ %d" % (min_value,max_value))
# input_num = int(input("请输入猜数:"))
# print("恭喜猜对了")
# 优化
import random
num = random.randint(1,100)
temp = 0
max_value = 100
min_value = 0
while True:
input_num = int(input("请输入猜数:"))
temp += 1
if num == input_num:
print("恭喜猜对了,猜了"+str(temp)+"次")
break
elif input_num > num:
max_value = input_num
print("输大了")
print("输入区间为:%d ~ %d" % (min_value, max_value))
else:
min_value = input_num
print("输小了")
print("输入区间为:%d ~ %d" % (min_value,max_value))
for item in 容器: 循环体,item就是容器的每一个元素 容器只能为字符串
编程练习:
"""
练习:在终端中输入一个四位整数,计算每位相加和。
例如:录入1234,打印1+2+3+4结果
效果:
请输入四位整数:1234
结果是:10
"""
# num = input("请输入四位整数:")
# result = 0
# # result += num % 10
# # result += num // 10 % 10
# # result += num // 100 % 10
# # result += num // 1000
# # print(result)
sum = 0
for item in input("请输入四位整数:"):
sum += int(item)
print(sum)
for + range()
一个范围的整数
# 写法1:range(开始,结束,间隔)
# 注意:不包含结束
for item in range(1,5,2):
print(item)
# 写法2:range(开始,结束)
# 注意:间隔默认为1,不包含结束
for item in range(1,5):
print(item)
# 写法3:range(结束)
# 注意:开始默认为0,间隔默认为1,不包含结束
for item in range(5):
print(item)
作业能力提升1:
如果条件太多,还是使用第一种方案,代码的可读性高
如果条件简单且不多,使用第二种方案,介绍内存空间
"""
(1) 电梯设置规定:
如果承载⼈不超过10⼈,且总重量不超过1000千克,可以正常使⽤,否则提示超载。
步骤:
终端中获取人数/总重量
显示电梯正常运行
电梯超载
"""
# person_num = int(input("请输入承载人数:"))
# weight_sum = int(input("请输入总重量:"))
# if person_num <= 10 and weight_sum <= 1000:
# print("正常使用")
# else:
# print("超载")
# 优化 and截断功能
if int(input("请输入承载人数:")) <= 10 and int(input("请输入总重量:")) <= 1000:
print("正常使用")
else:
print("超载")
作业能力提升2:
# 练习:累加10 -- 60之间,个位不是3/5/8的整数和。
# 循环各个数,提取个位
sum_item = 0
for item in range(10, 60):
# if item % 10 ==3 or item % 10 == 5 and item % 10 ==8 :
unit = item % 10
if unit ==3 or unit ==5 or unit == 8:
continue
sum_item += item
print(sum_item)
没有做出来自我分析:个位不是3/5/8,使用for i,j in item的方式,直接使用i,j获取个位和十位,报错。想到余数的方式,但大脑理所当然想到的是3,5,8的倍数加个位为3,5,8,所以无法下手编程。
小结:
while,适合根据条件重复
for,取出容器元素
for+range,根据次数重复