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) 物理行:程序员编写代码的行。 (2) 逻辑行:python解释器需要执行的指令。 (3) 建议: 一个逻辑行在一个物理行上。 如果一个物理行中使用多个逻辑行,需要使用分号;隔开。 (4) 换行: 如果…...

学习系统编程No.35【基于信号量的CP问题】
引言: 北京时间:2023/8/2/12:52,时间飞逝,恍惚间已经来到了八月,给我的第一感觉就是快开学了,别的感觉其实没有,哈哈!看着身边的好友网络相关知识都要全部学完了,就好像…...

词嵌入、情感分类任务
目录 1.词嵌入(word embedding) 对单词使用one-hot编码的缺点是难以看出词与词之间的关系。 所以需要使用更加特征化的表示(featurized representation),如下图所示,我们可以得到每个词的向量表达。 假设…...
TypeScript使用技巧
文章目录 使用技巧TypeScript内置的工具类型keyofextends 限定泛型interface 与 type 区别 TypeScript作为JavaScript的超集,通过提供静态类型系统和对ES6新特性的支持,使JavaScript开发变得更加高效和可维护。掌握TypeScript的使用技巧,可以帮助我们更好地开发和组织JavaScrip…...

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

LeetCode 42. 接雨水(动态规划 / 单调栈)
题目: 链接:LeetCode 42. 接雨水 难度:困难 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2…...

顺序表、链表刷题指南(力扣OJ)
目录 前言 题目一:删除有序数组中的重复项 思路: 题解: 题目二:合并两个有序数组 思路: 分析: 题解: 题目三:反转链表 思路: 分析: 题解: 题目四&…...
Lambda表达式总结
Lambda作为Java8的新特性,本篇文章主要想总结一下常用的一下用法和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 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 岛屿的面积是岛上值为 1 …...

迭代器模式(Iterator)
迭代器模式是一种行为设计模式,可以在不暴露底层实现(列表、栈或树等)的情况下,遍历一个聚合对象中所有的元素。 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环境,启用ssh服务。 打开Windows上的Goland,建立项目。 点击添加配置,选择go构建 点击运行于,选择ssh 填上Linux机器的IP地址和用户名 输入密码 没有问题 为了不让每次运行程序和调试程序都生…...

react中PureComponent的理解与使用
一、作用 它是一个纯组件,会做一个数据的浅比较,当props和state没改变的时候,不会render重新渲染, 改变后才会render重新渲染,提高性能。 二、使用 三、注意 它不能和shouldComponentUpdate生命周期同时使用。因为它…...
洛谷——P5714 【深基3.例7】肥胖问题
文章目录 题目题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示 AC代码 题目 题目描述 BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准,其算法是 m h 2 \dfrac{m}{h^2} h2m,其中 m m m 是指体重&am…...
Mac隐藏和显示文件
由于之前没有使用过Mac本,所以很多地方都不太清楚,在下载git项目的时候,发现没有.git文件, 一开始还以为下载错了,但是git命令是可以看到远端分支以及当前分支的,之后在一次解压文件的时候发现,…...
软件工程中应用的几种图辨析
【软件工程】软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表_眩晕李的博客-CSDN博客 软件工程——实体关系图 状态转换图 数据流…...

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

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

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

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

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

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
Linux系统部署KES
1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...