分支语句和函数

news2024/12/23 11:45:11

分支语句

条件语句

(1)if

语法格式:

if expression:
    do_something1
    do_something2
next_something

如果expression值为True,则执行do_something1, do_something2,next_something

如果expression值为False,则只执行next_something

(2)if-else

语法格式:

if expression:
    do_something1
else:
    do_something2

如果expression值为True,则执行do_something1,如果expression值为False,则执行do_something2

(3)if-elif-else

语法格式:

if expression1:
    do_something1
elif expression2:
    do_something2
else:
    do_something3

注意:

  • if后面的条件表达式,没有(),而且表达式以:作为结尾
  • if/else命中条件后要执行的“语句块”,使用缩进(通常是4个空格或者一个tab)来表示,而不是{}
  • 对于多条件分支,不是写作else if,而是elif(简写) 

缩进和代码块

代码块指的是一组放在一起执行的代码,在Python中使用缩进表示代码块,不同级别的缩进,程序的执行效果是不同的:

在代码1中,print('world')有一级缩进,这个语句属于if内的代码块,意为条件成立,才执行,条件不成立,则不执行;在代码2中,print('韩梅梅')没有缩进,这个语句是if外部的代码,不属于if内部的代码块,意味着条件成立与否都会执行。 

空语句pass 

a = int(input('请输入一个整数: '))
if a!=1:
    pass
else:
    print('hello')

pass表示空语句,并不会对程序的执行造成任何影响,只是占个位置,保持Python语法格式符合要求 

while循环 

语法格式:

while 条件:
    循环体

例如计算1-100的和:

sum = 0
num = 1
while num<=100:
    sum += num
    num += 1
print(sum)

计算1!+2!+3!+4!+5!

n = 1
total = 0
while n <= 5:
    temp = 1
    i = 1
    while i <= n:
        temp *= i
        i += 1
    total += temp
    n += 1
print(total)

for循环 

语法格式:

for 循环体 in 可迭代对象:
    循环体

可迭代对象指的是:内不包含多个元素,能一个一个把元素取出来的特殊变量

例如计算1-100的和:

ret = 0
for n in range(1,101):
    ret += n
print(ret)

使用range函数,能够生成一个可迭代对象,生成的范围是[1,101),也就是[1,100] 

例如:打印2,4,6,8,10

for i in range(2,11,2):
    print(i)

range的第三个参数可以指定迭代时候的“步长”,也就是一次让循环变量加几,如果第三个参数为负数,则表示一次让循环减几

例如打印10-1: 

for i in range(10,0,-1)
    print(i)

函数 

语法格式:
 

def 函数名(形参列表):
    函数体
    return 返回值

例如:分别输出1-100的和、200-300的和、1-1000的和

def sum(beg,end):
    ret = 0
    for i in range (beg,end+1):
        ret += i
    return ret

print(f'1-100的和: {sum(1,100)}')
print(f'200-300的和: {sum(200,300)}')
print(f'1-1000的和: {sum(1,1000)}')

调用函数/使用函数

函数名(实参列表)                        //不考虑返回值

返回值 = 函数名(实参列表)         //考虑返回值

注意:函数必须先定义,再使用

函数的形参:在Python中一个函数可以支持不同类型的参数,它的形参类型可以变化

def test(date):
    print(date)
test(10)
test('hello')
test(True)

一个函数是可以一次返回多个返回值的,使用,来分隔多个返回值

def getPoint():
    x = 20
    y = 10
    return x,y
a,b = getPoint()
print(a,b)

如果只想关注其中的部分返回值,可以使用_来忽略不想要的返回值。

def getPoint():
    x = 20
    y = 10
    return x,y
_,b = getPoint()
print(b)

 

如果是现在函数内部,修改全局变量的值,需要使用global关键字声明

x = 20
def test():
    global x
    x = 10
    print(f'函数内部 x = {x}')
test()
print(f'函数外部 x = {x}')

 

if/where/for等语句块不会影响到变量作用域,也就是说在if/where/for中定义的变量,在语句外面也可以正常使用:

 

 

 

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

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

相关文章

yolov7 使用c++推理onnx模型cpu,gpu均可(附代码)

先放上原图以及推理效果图,这份数据集是我自己标注的,然后使用yolov7的官方代码进行训练得到了一个best.pt。最后还是用yolov7官方的export.py 导出得到一个onnx文件。文章下面我会附上数据集,需要自提。 要点: yolov7环境搭建,模型的训练以及导出模型。 代码的编写已经…

C++11标准模板(STL)- 算法(std::lexicographical_compare)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 当一个范围按字典顺序小于…

计算机毕业设计 SSM与vue的汽车租赁管理系统(源码+论文)

文章目录1 项目简介2 实现效果2.1 界面展示3 设计方案3.1 概述3.2 系统流程3.3 系统结构设计4 项目获取1 项目简介 Hi&#xff0c;各位同学好呀&#xff0c;这里是M学姐&#xff01; 今天向大家分享一个今年(2022)最新完成的毕业设计项目作品&#xff0c;【基于SSM的汽车租赁…

最新CTR预测服务的GPU优化实践

CTR模型在互联网的搜索、推荐、广告等场景有着广泛的应用。近年来&#xff0c;随着深度神经网络的引入&#xff0c;CTR模型的推理对硬件算力的要求逐渐增加。本文介绍了美团在CTR模型优化的实践。通过分析模型结构特点&#xff0c;结合GPU硬件架构&#xff0c;我们设计了一系列…

Zabbix历史数据与趋势数据问题详解

众所周知&#xff0c;历史数据&#xff08;history&#xff09;和趋势数据&#xff08;trends&#xff09;是Zabbix中存储收集到的数据的两种方式。官方文档显示&#xff0c;Zabbix历史数据是每分钟收集到的监控数据&#xff0c;趋势数据则是按小时统计计算后的平均数据&#x…

linux安装tomcat

目录 一、准备tomcat 法1 法2 二、上传tomcat到linux​ 三、解压tomcat 解压到当前目录 重命名文件夹 四、设置开放的服务或端口号或直接关闭防火墙 法1&#xff1a; 法2&#xff1a; 五、进入tomcat的bin目录&#xff0c;启动tomcat 进入tomcat的bin目录 启动tom…

LeetCode——Weekly Contest 321

这段时间经历了组会、开题、回家等等&#xff0c;这才发现周赛已经打到325场了&#xff0c;而我还没有写完321场的题解记录&#xff0c;真是汗颜啊。 LeetCode周赛第321场记录 这场周赛的题目相对比较简单一些&#xff0c;在此简单做个梳理&#xff1a; 这道题比较简单&#…

0xcdcdcdcd异常值引发C++程序崩溃问题的详细分析

目录 1、0xcccccccc、0xcdcdcdcd和0xfeeefeee等常见异常值的说明 2、由0xcdcdcdcd 异常值引发的内存访问违例问题说明 2.1、用户态内存地址与内核态用户地址 2.2、根据0xcdcdcdcd异常值初步估计出引发问题的原因 3、详细分析与问题解决 4、变量未初始化在Debug和Release下…

idea 创建 maven项目报错

问题报错 org.apache.maven.model.validation.DefaultModelValidator: method ‘void ()’ not found 第一次使用Maven创建工程&#xff0c;导入依赖的时候出现报错 idea版本&#xff1a;2021.2 maven版本&#xff1a;3.8.5 看了许多博客说把maven版本降低即可 参考文章&a…

技术栈入门------ElasticSearch

使用ElasticSearch的准备工作 一、在Linux上安装ElasticSearch 1、docker下载elasticSearch和kibana的镜像 docker pull elasticsearch:7.4.2 存储和检索数据 docker pull kibana:7.4.2 可视化检索数据 2、创建目录 mkdir -p /mydata/elasticsearch/config mkdir -p /myd…

[含文档+源码等]微信小程序校园生活小助手+后台管理系统前后分离VUE[包运行成功]

博主介绍&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 项目名称 [含文档源码等]微信小程序校园生活小助手后台管理系统前后分离VUE[包运行成功] 演示视频 视频去哪了呢&#xff1f;_哔哩哔哩_bilibili 系统介绍 本系…

简单对比一下VRRP和策略路由之间主备切换的差异

前面我们介绍的VRRP&#xff08;&#xff09;&#xff0c;两台设备之间处于主备关系&#xff0c;也就是说&#xff0c;当主设备故障之后&#xff0c;流量才会切换到备设备上。这种使用方式一定程度上讲&#xff0c;不太符合经济适用的原则&#xff0c;我们前面介绍过链路聚合&a…

Java面试--SpringMVC请求流程

用户发送请求&#xff0c;请求被 SpringMVC 前端控制器&#xff08;DispatherServlet&#xff09;捕获&#xff1b;前端控制器&#xff08;DispatherServlet&#xff09;对请求 URL 解析获取请求 URI&#xff0c;根据 URI&#xff0c;调用 HandlerMapping&#xff1b;前端控制器…

求最长递增子序列

题目&#xff1a; 给定数组arr&#xff0c;返回arr的最长递增子序列 举例&#xff1a; arr [2,1,5,3,6,4,8,9,7] 返回最长递增子序列为 [1,3,4,8,9] 方法一&#xff1a;复杂度为O&#xff08;N^2&#xff09; 1. 生成长度为N的数组 dp&#xff0c;dp[i] 表示以arr[i] 这…

架构师必读 —— 逻辑模型(8)

利用框架整理信息 框架用于明确“整体结构”&#xff0c;也指“通过MECE分析法将整体构成要素进行大分类”。重要的是框架应是MECE分析框架&#xff0c;因为 一旦有遗漏和重复&#xff0c;就会导致混乱。整体构成要素可大致分为 3~7大类。 建议先确认目的后思考框架&#x…

实时单目追踪和稠密建图的算法框架:TANDEM算法

01 概述 最近在研究TANDEM算法&#xff0c;是一个实时单目追踪和稠密建图的算法框架。TANDEM的算法框架可以概括为如下的几个部分&#xff1a; 1、位姿计算----在关键帧实施基于滑窗的像素级集束优化&#xff1b; 2、追踪前端----实施直接稠密图片配准&#xff0c;基于全局模…

如何找回电脑回收站删除的文件, 10种恢复工具方法!

你想取回你的回收站删除的文件吗&#xff1f;无论是图像、视频还是文档&#xff0c;我们的设备都会存储所有内容。您可能不小心删除了数据&#xff0c;或者由于其他原因而消失了。要恢复您的文件&#xff0c;您可以访问技术人员或下载任何最好的文件恢复软件。 如果您选择第二…

怎样把电脑D盘合并到c盘?相邻的分区怎么合并到C盘

因为C盘是重要的系统盘&#xff0c;系统用户设置文件夹&#xff0c;包括各个用户的文档、收藏夹、上网浏览信息、配置文件&#xff0c;不能随意删除。如果C盘空间不足&#xff0c;就会影响到电脑的整体运行速率&#xff0c;会导致电脑卡顿&#xff0c;要想彻底地解决这种情况&a…

HTML期末作业课程设计期末大作业——电影网页制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 精彩专栏推荐&#x1f4…

PHP序列化和反序列化漏洞学习

目录 PHP基础知识&#xff1a; 类的结构&#xff1a; 序列化 反序列化 魔术方法 字符串逃逸 PHP基础知识&#xff1a; 类的结构&#xff1a; 常见访问权限修饰符&#xff1a; public:公共的&#xff0c;在类的内部、子类中或者类的外部都可以使用&#xff0c;不受限制;p…