Python系统学习1-4-物理行、逻辑行、选择语句

一、行

(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)

二、选择语句

1、if else 语句

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("低能")

2、循环语句

1.while循环
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))

2、for循环1
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)

 

3、for循环2

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,根据次数重复

你可能感兴趣的:(python基础学习,学习)