【基础python】条件语句 | 循环

条件语句

if elif else

python中和绝大数语言类似,具有能够判断语句顺序的语法

if  elif   else   分别对应C++的   if   else if  else

if 条件为真进入语句 ,反之则不进入

如果if 为假,存在else 则会进入else

如果if 为假 ,存在elif且为真   则会进入elif 

if 表达式1:
    语句块
elif 表达式2:
    语句块
else:

在pytho中条件判断是不需要被括号包含起来,需要用: 和 缩进

举例

示例一个简单的条件语句 

选择1,就会获得好offer,选择2就会毕业失业

但是对于用户可能会输入除去 1  2的数字,那么就需要多加一层判断

此时输入非 1  和 2 的选项后就会提示非法输入

缩进

在C++中,if条件可以被{}包含起来,可以直观看到各部分的代码块

而在python中,缩进也是语法  ,同一级缩进代表相同代码块

例如

输入1后会打印三条语句 输入非1打印一条,第三条语句不受if的控制

说明在python中,不同的缩进具有不同的作用域

嵌套

与绝大多数语言一样,python支持条件语句的嵌套

上述例子在if条件判断下,又嵌入if else判断

只有当a=='1'时,才有可能输出aaa  bbb ccc

d由于缩进,不受if影响 都能打印出

循环

某些需要反复执行的操作,通过循环来执行

  • while循环

while与C语言不同 在条件判断后一定要加 :   !

循环体通过冒号控制

格式:

while 条件:
    循环体

举例:计算1+2!+3!+4!+5!

双循环,外层循环控制1  ------5   内层循环控制每个数的阶层

num = 1
_sum = 0
while num <= 5:
    i = 1
    tmp_sum = 1
    while i <= num:
        tmp_sum *= i
        i += 1
    _sum += tmp_sum
    num += 1
print(_sum)

  • for循环

python的for是对可迭代对象的遍历

与C语言不同,不需要初始化变量,判断条件。

比如说班级的学号从1到 30 。是可迭代对象,for循环遍历就是从1到30遍历这个班的同学。

格式:

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

for循环一般都配合range函数使用

range函数就是一个内建函数,得到一个可迭代对象。

range(begin,end)  == [begin ,end)

符合C语言的前闭后开

基本用法:

for i in range(begin,end)

求和1+2+3+....100用for循环

_sum = 0
for i in range(1, 101):
    _sum += i
print(_sum)

为什么迭代的范围是1—101?

因为range是前闭后开,101不会被跌带到,实际到100

步长

range的步长 ,range函数的第三个函数是步长,没有设置默认1

决定 i  每次走几步

例如  for i in range(1,101 ,2):

就是每次往后走俩步 i的数据是 1  3   5  7   9   11......

修改上例的代码 从100 +99 +98 +....1

_sum = 0
for i in range(100, 0, -1):
    _sum += i
print(_sum)

从100开始 每次-1 ,直到1停止

continue

与C语言一致,遇到continue,本次循环结束,进入下一次循环

举例:打印hellow python 在i ==2时,不打印

msg = "hellow,python!"
for i in range(1,6):
    print(i)
    if i == 2:
        continue
    print(msg)

break

与C语言一致

退出循环,避免死循环

死循环while 1

配合条件判断和break终止循环

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

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

相关文章

(Java企业 / 公司项目)Nacos的怎么搭建多环境配置?(含相关面试题)(二)

上一篇讲了一个单体服务中配置&#xff0c;传统的Nacos配置但是在微服务架构当中肯定都是多环境下配置&#xff0c;比如生产环境&#xff0c;dev测试环境等等。 第一种方式模拟开始&#xff1a; 首先展示在生产环境中nacos如何配置&#xff0c;在模块下新建一个配置文件&…

三段式电流保护与自动重合闸MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 前加速、后加速的区别&#xff1a; 前加速是保护装置不判别是永久性故障还是瞬时故障&#xff0c;直接跳闸&#xff0c;然后经重合闸装置来纠正&#xff1b;后加速是保护装置是先判别故障类型有选择性跳闸 …

AI:112-基于卷积神经网络的美食图片识别与菜谱推荐

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的关键代码,详细讲解供…

华为与银联深化合作 /阿里巴巴集团首席执行官兼任淘天集团首席执行官 |魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件&#x1f525;&#xff0c;更新AIGC的最新动态&#xff0c;生成相应的魔法简报&#xff0c;节省阅读时间&#x1f47b; &#x1f525;资讯预览 华为与银联深化合作&#xff0c;推动银联服务全面“鸿蒙化” 阿里巴巴集团首…

即时设计:一键查看设计稿与页面差异,让设计师的工作更便捷高效

设计稿走查 在设计工作中&#xff0c;对设计稿和实际页面进行对比是必不可少的环节。然而&#xff0c;传统的对比方式往往耗时耗力&#xff0c;无法精确测量差异。为了解决这个问题&#xff0c;我们推出了一款强大的工具&#xff0c;它可以通过图片对比&#xff0c;轻松查看设…

vue3+vant4 移动端软键盘弹出 收起导致项目样式布局错乱解决方案,亲测有效!!

问题描述 最近在做vue3 H5的移动端项目 我用的是vue3vant4&#xff0c;然后在使用过程中发现 小米14手机在点击密码输入框软键盘弹出 时会导致项目布局整体向上移动 导致页面布局错乱。 原因分析&#xff1a; 在移动端软键盘弹出收起时&#xff0c;导致项目样式布局错乱的原因…

rtsp解析视频流

这里先说一下 播放rtsp 视频流&#xff0c;尽量让后端转换一下其他格式的流进行播放。因为rtsp的流需要flash支持&#xff0c;现在很多浏览器不支持flash。 先说一下这里我没有用video-player插件&#xff0c;因为它需要用flash ,在一个是我下载flash后&#xff0c;还是无法播放…

C++多态性——(4)纯虚函数与抽象类

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 我们不能选择命运&#xff0c;但我们可…

【Python机器学习】k近邻——k近邻分类

k-NN算法最简单的版本是只考虑一个最近邻&#xff0c;也就是想要预测的数据点最近的训练数据点&#xff0c;预测结果就是这个训练数据点的已知输出。 除了仅考虑最近邻&#xff0c;还可以考虑任意&#xff08;k个&#xff09;邻居&#xff0c;这也是k近邻算法名字的由来。在考…

Python正则表达式急速入门~正则居然这么容易掌握!

正则表达式在程序开发中会经常用到&#xff0c;比如数据&#xff08;格式&#xff09;验证、替换字符内容以及提取字符串内容等等情况都会用到&#xff0c;但是目前许多开发人员对于正则表达式只是处于了解或者是基本会用的阶段。一旦遇到大批量使用正则表达式的情况&#xff0…

Linux基础知识点-(七-线程)

目录 一、线程和进程 1.1 线程的基本概念 1.2 线程的优缺点 二、创建线程 2.1 pthread_create() - 创建线程函数 三、线程属性 四、线程退出 4.1 pthread_exit() 4.2 pthread_join() 4.3 pthread_detach() 一、线程和进程 1.1 线程的基本概念 在很多Linux的书籍基…

搜维尔科技:深入研究工作场所人体工程学中的动作捕捉

创造安全舒适的工作环境对于员工的健康和组织的整体成功至关重要。这就是为什么我们很高兴举办有关“在工作场所人体工程学中利用动作捕捉技术”的网络研讨会。 通过利用动作捕捉的力量&#xff0c;组织可以彻底改变工作场所人体工程学的方法。它使您能够根据客观的运动数据进行…

C++面向对象高级编程(侯捷)笔记2

侯捷C面向对象高级编程 本文是学习笔记&#xff0c;仅供个人学习使用&#xff0c;如有侵权&#xff0c;请联系删除。 如果你对C面向对象的组合、继承和委托不了解&#xff0c;对什么是拷贝构造、什么是拷贝赋值和析构不清楚&#xff0c;对类设计中的Adapter、pImpl、Template…

使用定时器setInterval,在Moment.js 时间格式化插件基础上完成当前时间持续动态变化

1、引入插件 npm install moment --save 2、js配置&#xff1a;当前需要使用的文件中直接引入 import moment from moment; 3、代码实现&#xff1a;定义一个变量进行回显 3.1、dom部分 <span> {{ timeData }} </span> 3.2、js代码 <script> import mo…

直播获奖(live)CSP2020

描述 NOI2130 即将举行。 为了增加观赏性&#xff0c;CCF 决定逐一评出每个选手的成绩&#xff0c;并直播即时的获奖分数线。 本次竞赛的获奖率为w&#xff0c;即当前排名前w 的选手的最低成绩就是即时的分数线。 更具体地&#xff0c;若当前已评出了 p 个选手的成绩&#…

GROUP_CONCAT报错解决

有如下表 其中awardee和awardee_unit都是保存的json类型的字符串, awardee是多个人员id, awardee_unit是部门的全路径 查询时要注意转换 需要将name拼接起来合并成一行,直接 GROUP_CONCAT 会报错 百度的大部分答案是修改数据库配置去掉严格模式,如果不方便修改数据库可以这样…

力扣刷题-二叉树-最大二叉树

654.最大二叉树 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下&#xff1a; 二叉树的根是数组中的最大元素。 左子树是通过数组中最大值左边部分构造出的最大二叉树。 右子树是通过数组中最大值右边部分构造出的最大二叉树。 通过给定的数组构建最大…

Javascript学习之路:事件在页面加载和关闭时的执行顺序

&#x1f449;前言 在实际项目中&#xff0c;如果我想在打开浏览器页面加载时执行某些任务&#xff0c;比如获取当前页面的全部或部分数据&#xff0c;优先想到的事件是onload&#xff0c;当关闭页面时&#xff0c;我们也常常会使用onunload事件。但是这两个事件却有一定的局限…

图解算法数据结构-LeetBook-回溯01_机械累加器

请设计一个机械累加器&#xff0c;计算从 1、2… 一直累加到目标数值 target 的总和。注意这是一个只能进行加法操作的程序&#xff0c;不具备乘除、if-else、switch-case、for 循环、while 循环&#xff0c;及条件判断语句等高级功能。 注意&#xff1a;不能用等差数列求和公式…

多级缓存、OpenResty、Redis分布式缓存、进程缓存

目录标题 一、预期表现二、环境配置1、nginx环境2、OpenResty环境3、redis环境4、进程缓存环境 三 、主要编码工作3.1、OpenResty编码openresty/nginx/conf/nginx.conflualib/redis_common.lualualib/common.luanginx/lua/item.lua 3.2、进程缓存编码 四、结果分析4.1 初始无缓…