当前位置: 首页 > news >正文

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 += 1if 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 += 1if num == input_num:print("恭喜猜对了,猜了"+str(temp)+"次")breakelif input_num > num:max_value = input_numprint("输大了")print("输入区间为:%d ~ %d" % (min_value, max_value))else:min_value = input_numprint("输小了")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 % 10if unit ==3 or unit ==5 or unit == 8:continuesum_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系统学习1-4-物理行、逻辑行、选择语句

一、行 (1) 物理行&#xff1a;程序员编写代码的行。 (2) 逻辑行&#xff1a;python解释器需要执行的指令。 (3) 建议&#xff1a; 一个逻辑行在一个物理行上。 如果一个物理行中使用多个逻辑行&#xff0c;需要使用分号&#xff1b;隔开。 (4) 换行&#xff1a; 如果…...

学习系统编程No.35【基于信号量的CP问题】

引言&#xff1a; 北京时间&#xff1a;2023/8/2/12:52&#xff0c;时间飞逝&#xff0c;恍惚间已经来到了八月&#xff0c;给我的第一感觉就是快开学了&#xff0c;别的感觉其实没有&#xff0c;哈哈&#xff01;看着身边的好友网络相关知识都要全部学完了&#xff0c;就好像…...

词嵌入、情感分类任务

目录 1.词嵌入&#xff08;word embedding&#xff09; 对单词使用one-hot编码的缺点是难以看出词与词之间的关系。 所以需要使用更加特征化的表示&#xff08;featurized representation&#xff09;&#xff0c;如下图所示&#xff0c;我们可以得到每个词的向量表达。 假设…...

TypeScript使用技巧

文章目录 使用技巧TypeScript内置的工具类型keyofextends 限定泛型interface 与 type 区别 TypeScript作为JavaScript的超集,通过提供静态类型系统和对ES6新特性的支持,使JavaScript开发变得更加高效和可维护。掌握TypeScript的使用技巧,可以帮助我们更好地开发和组织JavaScrip…...

MySQL — InnoDB事务

文章目录 事务定义事务特性事务隔离级别READ UNCOMMITTEDREPEATABLE READREAD COMMITTEDSERIALIZABLE 事务存在的问题脏读&#xff08;Dirty Read&#xff09;不可重复读&#xff08;Non-repeatable Read&#xff09;幻读&#xff08;Phantom Read&#xff09; 事务定义 数据库…...

LeetCode 42. 接雨水(动态规划 / 单调栈)

题目&#xff1a; 链接&#xff1a;LeetCode 42. 接雨水 难度&#xff1a;困难 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2…...

顺序表、链表刷题指南(力扣OJ)

目录 前言 题目一&#xff1a;删除有序数组中的重复项 思路&#xff1a; 题解&#xff1a; 题目二&#xff1a;合并两个有序数组 思路&#xff1a; 分析&#xff1a; 题解&#xff1a; 题目三&#xff1a;反转链表 思路&#xff1a; 分析&#xff1a; 题解&#xff1a; 题目四&…...

Lambda表达式总结

Lambda作为Java8的新特性&#xff0c;本篇文章主要想总结一下常用的一下用法和api 1.接口内默认方法实现 public interface Formula {double calculate(int a);// 默认方法default double sqrt(int a) {return Math.sqrt(a);} }public static void main(String[] args) {Form…...

岛屿的最大面积

给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表水&#xff09;包围着。 岛屿的面积是岛上值为 1 …...

迭代器模式(Iterator)

迭代器模式是一种行为设计模式&#xff0c;可以在不暴露底层实现(列表、栈或树等)的情况下&#xff0c;遍历一个聚合对象中所有的元素。 Iterator is a behavior design pattern that can traverse all elements of an aggregate object without exposing the internal imple…...

Goland搭建远程Linux开发

Windows和Linux都需要先构建好go环境&#xff0c;启用ssh服务。 打开Windows上的Goland&#xff0c;建立项目。 点击添加配置&#xff0c;选择go构建 点击运行于&#xff0c;选择ssh 填上Linux机器的IP地址和用户名 输入密码 没有问题 为了不让每次运行程序和调试程序都生…...

react中PureComponent的理解与使用

一、作用 它是一个纯组件&#xff0c;会做一个数据的浅比较&#xff0c;当props和state没改变的时候&#xff0c;不会render重新渲染&#xff0c; 改变后才会render重新渲染&#xff0c;提高性能。 二、使用 三、注意 它不能和shouldComponentUpdate生命周期同时使用。因为它…...

洛谷——P5714 【深基3.例7】肥胖问题

文章目录 题目题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示 AC代码 题目 题目描述 BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准&#xff0c;其算法是 m h 2 \dfrac{m}{h^2} h2m​&#xff0c;其中 m m m 是指体重&am…...

Mac隐藏和显示文件

由于之前没有使用过Mac本&#xff0c;所以很多地方都不太清楚&#xff0c;在下载git项目的时候&#xff0c;发现没有.git文件&#xff0c; 一开始还以为下载错了&#xff0c;但是git命令是可以看到远端分支以及当前分支的&#xff0c;之后在一次解压文件的时候发现&#xff0c;…...

软件工程中应用的几种图辨析

【软件工程】软件工程中应用的几种图辨析&#xff1a;系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表_眩晕李的博客-CSDN博客 软件工程——实体关系图 状态转换图 数据流…...

下载离线版的VS Visual Studio 并下载指定的版本

一、先下载引导程序 下载地址VS VisualStudio官网 在这个页面翻到最下面 在这里下载需要的版本 下载引导程序 二、下载离线安装包 写一个批处理文件&#xff08;vs.bat&#xff09; 命令格式如下 <vs引导程序exe> --layout <离线安装包下载的路径> --add <功能…...

Eureka 学习笔记5:InstanceRegistry

版本 awsVersion ‘1.11.277’ LeaseManager 接口管理实例的租约信息&#xff0c;提供以下功能&#xff1a; 注册实例取消注册实例实例续约剔除过期实例 public interface LeaseManager<T> {/** 注册实例并续约*/void register(T r, int leaseDuration, boolean isRep…...

System Verilog——虚方法的使用

1、使用虚方法目的 通过在父类里定义虚方法(task or function)&#xff0c;可以在当父类句柄调用一个方法时候&#xff0c;前提是若是这个句柄指向了子类对象&#xff0c;则调用的方法为子类的方法而不是父类的方法。 1.1、实例理解&#xff1a;将子类句柄赋值成父类句柄 mod…...

线性规划和单纯形法-原理篇

文章目录 引言线性规划标准型问题特点单纯形法 引言 很多运筹学的教材都是从线性规划开始的&#xff0c;我平时做算法策略的落地应用时也研发了一部分基于线性规划的技术方案。可以说&#xff0c;如果搞不懂线性规划&#xff0c;很难成为一名优秀的运筹优化算法工程师。 但是…...

FBX SDK开发快速上手指南

一段时间以来&#xff0c;我一直想制作一个 FBX Exporter 将 FBX 文件转换为我自己的格式。 整个过程不是很顺利&#xff0c;主要是FBX的官方文档不是很清楚。 另外&#xff0c;由于 FBX 格式被许多应用程序使用&#xff0c;而不仅仅是游戏引擎&#xff0c;因此提供的示例代码没…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...