Python基础003

Python流程控制基础

1.条件语句

内置函数input
a = input("请输入一段内容:")
print(a)
print(type(a))

代码执行的时候遇到input函数,就会等键盘输入结果,已回车为结束标志,也就时说输入回车后代码才会执行

2.顺序执行

Python代码在执行过程中,遵循下面的基本原则:
普通语句,直接执行;
碰到函数,将函数体载入内存,并不直接执行
碰到类,执行类内部的普通语句,但是类的方法只载入,不执行
碰到if、for等控制语句,按相应控制流程执行
碰到@,break,continue等,按规定语法执行
碰到函数、方法调用等,转而执行函数内部代码,执行完毕继续执行原有顺序代码

Python代码块

Python以缩进来标记代码块,代码块必须要缩进,没有缩进不是代码块。另外,同一代码块的缩进量要相同,缩进量不同的不属于同一代码块。

1.不要忘记缩进

if、elif、else后面的代码块一定要缩进,而且缩进量要大于if、elif、else本身。
先说明一个反面教材

age = input("请输入您的名字:")
if age < 18 :
print("警告你还未成年,不能进入网吧")
else:
print("你已经成年,欢迎光临")IndentationError: expected an indented block after 'if' statement on line 95
缩进错误:第95行的“if”语句后应出现缩进块不缩进的话,就不能构成ifelse执行体

2.缩进多少??

Python要求代码块必须缩进,但是却没有要求缩进量,你可以缩进n个空格,也可以缩进n个Tab键的位置。但是从编程习惯的角度看,我建议缩进1个Tab键的位置,或者缩进4个空格;它们两者其实是等价的,很多编辑器都可以将Tab键设置为4个空格

3.所有的语句都需要缩进

age = int(input("请输入您的年龄:"))
if age < 18 :print("你还未成年,建议在家人陪同下使用该软件!")
print("未成年人如果得到了家长的同意,请忽略以上提示。") #此行忘记缩进

在这里插入图片描述
用户输入年龄已超过18,但却出现了“未成年人”提示,好尴尬~~。因为第二个print语句没有缩进,if没有把它和第一个print语句当做同一个代码块,只要把第二个print语句同样缩进4个空格即可。

4.同一代码块需要缩进相同

age = int(input("请输入您的年龄:"))
if age < 18 :print("你还未成年,建议在家人陪同下使用该软件!")print("未成年人如果得到了家长的同意,请忽略以上提示。") #此行忘记缩进
还是上面的示例,第二语句缩进比第一语句缩进多了系统也会提示错误。

在这里插入图片描述
位于同一代码块的所有语句必须拥有相同的缩进量,多一个或少一个空格都不行

5.不要随便缩进

另外需要注意的是,不需要使用代码块的地方千万不要缩进,一旦缩进就会产生一个 代码块。
下面的代码是一个反面教材:

info = "Python 教程的网址是:http://c.biancheng.net/python/"print(info)

这两条简单的语句没有包含分支、循环、函数、类等结构,不应该使用缩进。

理解if语句和语句块

if语句是一种分支语句,用于判断条件是否成立,如果条件成立则执行相应的代码,否则不执行,if语句通常的语法形式如下:

num = int(input("请输入一个整数:"))
if num % 2 == 0:print("您输入的是偶数")

在这里插入图片描述
if语句不需要只有一个语句,它可以有一个块,一个块可以是多个语句。

num = int(input("请输入一个整数:"))
if num % 2 == 0:print("您输入的是偶数")print("您输入的是偶数")print("您输入的是偶数")print("您输入的是偶数")

在这里插入图片描述

1.if单分支语句

if语句用于基于某个条件执行代码块。当您只关心一个条件并且只想在该条件为真时执行代码时,您可以使用单分支的if语句

x = 10
if x > 5:print("x比5大")

在这里插入图片描述
上面示例,我们定义了一个变量x并将其设置为10,然后,我们使用if语句检查x是否大于5.因为x的值大于5,所以if语句的代码块会被执行。

2.if单分支例子

num = 66
if num > 0 :print("这是一个整数")

在这里插入图片描述

  • 定义一个变量num,并赋值为66。
  • 使用if语句检查num是否大于0。
  • 如果num大于0,程序将执行if语句块内的代码。
  • 在if语句块内,使用print函数输出字符串"这是一个正数."。
  • 当你运行这段代码时,由于num的值为66,大于0,因此程序会输出"这是一个正数."

3.if单分支语句扩展

if else子句
如果我们想要有条件地执行两种不同的代码块,可以使用if-else语句

num = int(input("请输入一个整数:"))
if num % 2 == 0:print("您输入的是偶数")
else:print("您输入的是奇数"

在这里插入图片描述

#引入os标准模块
import os
#os.name方法,返回操作系统类型,赋值给变量s1
s1 = os.name
#如果s1等于nt,则执行符语句块中的内容
if s1 == 'nt':print(f"The current os is {s1}.")
elif s1 == 'posix':print("The is Linxu")

在这里插入图片描述

root@localhost:/home/scrpict/py# python
Python 3.9.18 (main, Jan 24 2024, 00:00:00) 
[GCC 11.4.1 20231218 (Red Hat 11.4.1-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.name
'posix'
>>> exit()

在这里插入图片描述

root@localhost:/home/scrpict/py# cat /etc/os-release
NAME="CentOS Stream"
VERSION="9"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="9"
PLATFORM_ID="platform:el9"
PRETTY_NAME="CentOS Stream 9"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:centos:centos:9"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://issues.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION'
NAME="CentOS Stream"
VERSION="9"
VERSION_ID="9"
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID
NAME="CentOS Stream"
VERSION="9"
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID |awk -F"=" '{print $1}'
NAME
VERSION
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID |awk -F"=" '{print $2}'
"CentOS Stream"
"9"
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID |awk -F"=" '{print $2}' | sed 's@"@@g'
CentOS Stream
9
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID |awk -F"=" '{print $2}' | sed 's@"@@g' | column
CentOS Stream	9root@localhost:/home/scrpict/py# os_type=`cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID |awk -F"=" '{print $2}' | sed 's@"@@g' | column`
root@localhost:/home/scrpict/py# echo $os_type 
CentOS Stream 9
root@localhost:/home/scrpict/py# echo $os_type | tr -d " "
CentOSStream9
root@localhost:/home/scrpict/py# os_type=$(echo $os_type | tr -d " ")
root@localhost:/home/scrpict/py# echo $os_type 
CentOSStream9
检查变量d是否有某个键
d = {"a": 1}
key = "a"
if isinstance(d, dict) and key in d:print(f"字典含有键'{key}'")
else:   print(f"字典不含有键'{key}'"

4.if-elif-else 语句

我们需要根据多个条件进行判断,此时可以使用 if-elif-else 语句

age = int(input("请输入这个人的年龄:"))
if age<12:print("还没上初中")
elif 12 <= age < 15:print("他是一个初中生") 
elif 15 <= age < 18:print("他是一个高中生")
elif 18 <= age < 22:print("他是大学生")
else:print("他已经毕业踏入社会了")

在这里插入图片描述

if多分支语句

1.elif多分支多条件语句

判断数字num是正数还是负数
num = int(input("请输入一个数字:"))
if num > 0:print("这是一个正数")
elif num < 0:print("这是一个负数")

在这里插入图片描述

2.if…elif…else子句

age = int(input("请输入你的年龄 :"))
if age >= 18:print("你已成年。")
else:print("你还未成年。")

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39569.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pandas数据分析(5)

pandas使用Numpy的np.nan代表缺失数据&#xff0c;显示为NaN。NaN是浮点数标准中地Not-a-Number。对于时间戳&#xff0c;则使用pd.NaT&#xff0c;而文本使用的是None。 首先构造一组数据&#xff1a; 使用None或者np.nan来表示缺失的值&#xff1a; 清理DataFrame时&#xf…

解决数据库PGSQL,在Mybatis中创建临时表报错TODO IDENTIFIER,连接池用的Druid。更换最新版本Druid仍然报错解决

Druid版本1.1.9报错Caused by: java.sql.SQLException: sql injection violation, syntax error: TODO IDENTIFIER : CREATE TEMPORARY TABLE temp_ball_classify (id int8 NOT NULL,create_time TIMESTAMP,create_by VARCHAR,classify_name VARCHAR) 代码如下&#xff1a; 测…

四川蔚澜时代电子商务有限公司打造抖音电商服务新高地

在数字化浪潮汹涌澎湃的今天&#xff0c;电商行业以其独特的魅力和强大的市场潜力&#xff0c;成为了推动经济增长的新引擎。四川蔚澜时代电子商务有限公司&#xff0c;作为这个领域的佼佼者&#xff0c;正以其专业的服务、创新的理念和卓越的实力&#xff0c;引领抖音电商服务…

用AI,每天创作200+优质内容,2分钟教会你操作!

前段时间发布了这篇“寻找爆款文案及标题的9大渠道&#xff0c;直接搬运都能搞流量&#xff01;”&#xff0c;里面我讲到如何寻找爆款标题。最近不少朋友问我&#xff0c;如何创作这个标题相关的内容。 多数平台都有风控规则&#xff0c;有些平台内容也会有字数要求。为了让大…

SpringBoot 项目整合 MyBatis 框架,附带测试示例

文章目录 一、创建 SpringBoot 项目二、添加 MyBatis 依赖三、项目结构和数据库表结构四、项目代码1、application.yml2、TestController3、TbUser4、TbUserMapper5、TestServiceImpl6、TestService7、TestApplication8、TbUserMapper.xml9、MyBatisTest 五、浏览器测试结果六、…

JavaScript实现时钟计时

会动的时钟 1.目标 2.分析 1.最开始页面不显示时间&#xff0c;有两个按钮 开始 暂停。开始按钮是可以点击的&#xff0c;暂停按钮不能点击 2.当点击开始按钮后&#xff0c;设置开始按钮不可用&#xff0c;暂停按钮可用。然后将当前系统时间放到按钮上面。每隔1秒中更新一下…

TransMIL:基于Transformer的多实例学习

MIL是弱监督分类问题的有力工具。然而&#xff0c;目前的MIL方法通常基于iid假设&#xff0c;忽略了不同实例之间的相关性。为了解决这个问题&#xff0c;作者提出了一个新的框架&#xff0c;称为相关性MIL&#xff0c;并提供了收敛性的证明。基于此框架&#xff0c;还设计了一…

3.js - 反射率(reflectivity) 、折射率(ior)

没啥太大的感觉 反射率 reflectivity 概念 反射率&#xff1a;指的是&#xff0c;材质表面反射光线的能力反射率&#xff0c;用于控制材质对环境光&#xff0c;或光源的反射程度反射率越高&#xff0c;材质表面反射的光线越多&#xff0c;看起来就越光亮使用 适用于&#xff0…

【PYG】Cora数据集分类任务计算损失,cross_entropy为什么不能直接替换成mse_loss

cross_entropy计算误差方式&#xff0c;输入向量z为[1,2,3]&#xff0c;预测y为[1]&#xff0c;选择数为2&#xff0c;计算出一大坨e的式子为3.405&#xff0c;再用-23.405计算得到1.405MSE计算误差方式&#xff0c;输入z为[1,2,3]&#xff0c;预测向量应该是[1,0,0]&#xff0…

Dify入门指南

一.Dify介绍 生成式 AI 应用创新引擎&#xff0c;开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力&#xff0c;轻松构建和运营生成式 AI 原生应用&#xff0c;比 LangChain 更易用。一个平台&#xff0c;接入全球大型语言模型。不同…

德璞资本:桥水公司如何利用AI实现投资决策的精准提升?

摘要&#xff1a; 在金融科技的浪潮中&#xff0c;桥水公司推出了一只依靠机器学习决策的创新基金&#xff0c;吸引了大量投资者的关注。本文将深入探讨该基金的背景、AI技术的应用、对桥水公司转型的影响&#xff0c;以及未来发展的前景。 新基金背景&#xff1a;桥水公司的创…

2024年7月2日 (周二) 叶子游戏新闻

老板键工具来唤去: 它可以为常用程序自定义快捷键&#xff0c;实现一键唤起、一键隐藏的 Windows 工具&#xff0c;并且支持窗口动态绑定快捷键&#xff08;无需设置自动实现&#xff09;。 卸载工具 HiBitUninstaller: Windows上的软件卸载工具 经典名作30周年新篇《恐怖惊魂夜…

MyBatis入门案例

实施前的准备工作&#xff1a; 1.准备数据库表2.创建一个新的springboot工程&#xff0c;选择引入对应的起步依赖&#xff08;mybatis、mysql驱动、lombok&#xff09;3.在application.properties文件中引入数据库连接信息4.创建对应的实体类Emp&#xff08;实体类属性采用驼峰…

补浏览器环境

一&#xff0c;导言 // global是node中的关键字&#xff08;全局变量&#xff09;&#xff0c;在node中调用其中的元素时&#xff0c;可以直接引用&#xff0c;不用加global前缀&#xff0c;和浏览器中的window类似&#xff1b;在浏览器中可能会使用window前缀&#xff1a;win…

校园水质信息化监管系统——水质监管物联网系统

随着物联网技术的发展越来越成熟&#xff0c;它不断地与人们的日常生活和工作深入融合&#xff0c;推动着社会的进步。其中物联网系统集成在高校实践课程中可以应用到许多项目&#xff0c;如环境气象检测、花卉种植信息化监管、水质信息化监管、校园设施物联网信息化改造、停车…

springboot项目jar包修改数据库配置运行时异常

一、背景 我将软件成功打好jar包了&#xff0c;到部署的时候发现jar包中数据库配置写的有问题&#xff0c;不想再重新打包了&#xff0c;打算直接修改配置文件&#xff0c;结果修改配置后&#xff0c;再通过java -jar运行时就报错了。 二、问题描述 本地项目是springBoot项目…

【计算机图形学 | 基于MFC三维图形开发】期末考试知识点汇总(上)

文章目录 视频教程第一章 计算机图形学概述计算机图形学的定义计算机图形学的应用计算机图形学 vs 图像处理 vs模式识别图形显示器的发展及工作原理理解三维渲染管线 第二章 基本图元的扫描转换扫描转换直线的扫描转换DDA算法Bresenham算法中点画线算法圆的扫描转换中点画圆算法…

【Godot4.2】Godot中的贝塞尔曲线

概述 通过指定平面上的多个点&#xff0c;然后顺次连接&#xff0c;我们可以得到折线段&#xff0c;如果闭合图形&#xff0c;就可以获得多边形。通过向量旋转我们可以获得圆等特殊图形。 但是对于任意曲线&#xff0c;我们无法使用简单的方式来获取其顶点&#xff0c;好在计…

mac上使用finder时候,显示隐藏的文件或者文件夹

默认在finder中是不显示隐藏的文件和文件夹的&#xff0c;但是想创建.gitignore文件&#xff0c;并向里面写入内容&#xff0c;即便是打开xcode也是不显示这几个隐藏文件的&#xff0c;那有什么办法呢&#xff1f; 使用快捷键&#xff1a; 使用finder打开包含隐藏文件的文件夹…

Linux如何安装openjdk1.8

文章目录 Centosyum安装jdk和JRE配置全局环境变量验证ubuntu使用APT(适用于Ubuntu 16.04及以上版本)使用PPA(可选,适用于需要特定版本或旧版Ubuntu)Centos yum安装jdk和JRE yum install java-1.8.0-openjdk-devel.x86_64 安装后的目录 配置全局环境变量 vim /etc/pr…