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	9


root@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("你还未成年。")

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

看完这篇文章你就知道什么是未来软件开发的方向了!即生成式AI在软件开发领域的革新=CodeFlying

从最早的UGC&#xff08;用户生成内容&#xff09;到PGC&#xff08;专业生成内容&#xff09;再到AIGC&#xff08;人工智能生成内容&#xff09;体现了web1.0→web2.0→web3.0的发展历程。 毫无疑问UGC已经成为了当前拥有群体数量最大的内容生产方式。 同时随着人工智能技术…

leetcode每日一练:链表OJ题

链表经典算法OJ题 1.1 移除链表元素 题目要求&#xff1a; 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&a…

Kotlin扩展函数(also apply run let)和with函数

also apply run let with的使用例子 private fun testOperator() {/*** also*/val person Person("ZhangSan", 18)person.also {// 通常仅仅打印使用, 也可以通过it修改it.name "ZhangSan1"println("also inner name: " it.name)}println(&qu…

如何理解MySql的MVCC机制

MVCC是什么 MySQL的MVCC机制&#xff0c;全称为多版本并发控制&#xff08;Multi-VersionConcurrency Control&#xff09;&#xff0c;是一种提高数据库并发性能的技术。MVCC的主要目的是在保证数据一致性的同时&#xff0c;提高数据库的并发性能。 它通过为每个读操作创建数…

lower()方法——大写字母转换为小写字母

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 lower()方法用于将字符串中的大写字母转换为小写字母。如果字符串中没有需要被转换的字符&#xff0c;则将原字符串返回&#xff1b;否则将…

Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件

章节内容 上一节完成&#xff1a; HDFS的简介内容HDFS基础原理HDFS读文件流程HDFS写文件流程 背景介绍 这里是三台公网云服务器&#xff0c;每台 2C4G&#xff0c;搭建一个Hadoop的学习环境&#xff0c;供我学习。 之前已经在 VM 虚拟机上搭建过一次&#xff0c;但是没留下…

RK3568平台(USB篇)USB HID设备

一.USB HID设备简介 USB HID设备主要用于和计算机进行交互通信&#xff0c;典型的USB HID类设备包括USB键盘、USB鼠标、USB游戏手柄等等&#xff0c;这些都是日常生活中常见的设备。以USB接口的鼠标为例&#xff0c;打开计算机的“设备管理器”&#xff0c;可以在“鼠标和其他…

Milvus【部署 01】向量数据库Milvus在Linux环境下的在线+离线安装

向量数据库Milvus在Linux环境下的在线离线安装 1.千问简介2.在线安装2.离线安装 1.千问简介 Milvus 是一款专为处理高维向量数据设计的开源云原生数据库&#xff0c;旨在满足海量向量数据的实时召回需求。它由 Zilliz 公司开发并维护&#xff0c;基于Apache许可证2.0版本发布。…

Microsoft SQL Server 2019安装和设置用户密码

1、免费下载两个安装包 SQL2019-SSEI-Dev 地址:https://www.microsoft.com/en-us/sql-server/sql-server-downloads SSMS-Setup-CHS 地址:https://aka.ms/ssmsfullsetup 安装具体不在阐述了&#xff0c;可以参考我这篇文章&#xff1a;SQL Server 2019安装详细教程 2、以W…

llm-universe | 五. 系统评估与优化

系统评估与优化 一.LLM应用评估思路1.人工评估准则一 量化评估准则二 多维评估 2.自动评估方法一. 构造客观题方法二. 计算答案相似度 3.使用大模型评估4.混合评估 二.评估并优化生成部分1. 提升直观回答质量2.标明知识来源&#xff0c;提高可信度3. 构造思维链4.增加一个指令解…

springboot学习,如何用redission实现分布式锁

目录 一、springboot框架介绍二、redission是什么三、什么是分布式锁四、如何用redission实现分布式锁 一、springboot框架介绍 Spring Boot是一个开源的Java框架&#xff0c;由Pivotal团队&#xff08;现为VMware的一部分&#xff09;于2013年推出。它旨在简化Spring应用程序…

详解C语言分支与循环语句

分支语句 if elseswitch 循环语句 whilefordo while goto语句 文章目录 1.什么是语句2.分支语句&#xff08;选择结构&#xff09;2.1 if语句2.1.1 悬空else2.1.3 练习 2.2 switch语句2.2.1 在switch语句中的break2.2.2 default子句 3.循环语句3.1 while循环3.1.1 while语句中…

2024广州智能音箱展|广州蓝牙耳机展

2024广州智能音箱展|广州蓝牙耳机展 时间&#xff1a;2024年11月29日-12月1日 地点&#xff1a;广州琶洲保利世贸博览馆 【展会简介】 中国是全球最大的音频产品制造基地和消费市场&#xff0c;随着国内外互联网巨头纷纷瞄准音频行业并投入巨资布局AI产品矩阵&#xff0c;音…

Static Timing Analysis(STA)概述

文章目录 Preface一、Design Objects二、Timing Paths三、Delay Calculation1. cell delay2. net delay 四、Constraint Checks五、Timing Exceptions1. Setting false paths2. Setting Maximum and Minimum Path Delays3. Setting Multicycle Paths Summary Preface Static t…

Yolov8可视化界面使用说明,含代码

⭐⭐ YOLOv8改进专栏|包含主干、模块、注意力机制、检测头等前沿创新 ​ ⭐⭐ YOLOv8可视化界面如下 使用需要安装opencv-python、torch、numpy及PySide6(python版本>3.9) pip install PySide6 pip install numpy pip install opencv-python 使用说明 运行下方代码&#xf…

C - Popcorn(abs358)

题意&#xff1a;有n个摊子&#xff0c;m个爆米花&#xff0c;想花费最少去的店铺买到所有的口味的爆米花&#xff0c;找到每一列都为‘o’的最少行数。 分析&#xff1a;用dfs寻找最少路径 #include<bits/stdc.h> using namespace std; typedef long long ll; char x;…

那些好用的 Vue3 的工具搭子!!【送源码】

2020 年 9 月 18 日 Vue3 的正式发布已经过去了大约 3 年 9 个月左右&#xff01;&#xff01;&#xff01; 随着 Vue3 版本的逐渐成熟&#xff0c;我们的前端世界也迎来了一系列令人振奋的更新和工具。Vue 生态圈的持续扩大&#xff0c;无疑为前端开发人员带来了前所未有的便…

【自用】CentOS7.6 安装 node-RED 4.0.2 教程(各种坑都摆脱的版本)

步骤总览 1.下载安装 nodejs 2.安装并配置 node-RED 3.重启服务器&#xff0c;验证 node-RED 是否安装 and 配置成功 一、下载安装 nodejs 1.下载 nodejs 18 为什么要下载 nodejs 18 呢&#xff1f; 因为 node-RED 4.0.1 支持的最低 nodejs 版本就是 nodejs 18。 当然了&a…

javaEE——Servlet

1.web开发概述 所谓web开发,指的是从网页中向后端程序发送请求,与后端程序进行交互 2.java后端开发环境搭建 web后端(javaEE)程序需要运行在服务器中的&#xff0c;这样前端才可以访问得到 3.服务器是什么&#xff1f; ①服务器就是一款软件&#xff0c;可以向其发送请求&#…

基于Canvas的Html5多时区动态时钟实战

目录 前言 一、关于Canvas技术 1、Canvas是什么 2、Canvas的属性及渲染特性 二、Canvas动态多时区展示 1、新建html页面 2、创建Canvas对象 3、绘制所有的时钟 总结 前言 出差旅行相信大家一定会住酒店&#xff0c;大家在酒店的前台进行预订的时候&#xff0c;是不是都…