Python for循环

news2024/11/23 12:32:35

Python的for循环

一、for循环

for循环:循环就是重复做某件事,for循环是python提供第二种循环机制(第一种是while循环),理论上for循环能做的事情,while循环都可以做。

目的:之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更简洁。

(文末送读者福利)

二、for循环语法如下

for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串\列表\字典,其实也可以是tuple(),set()
代码一
代码二


# # for循环
# # 列表取值
# l = ['lsj','a','b']
# for x in l:
#     print(x)
lsj
a
b    ...
# 参照例1来介绍for循环的运行步骤
# 步骤1:从列表['lsj','a','b']中读出第一个值赋值给x(x=‘lsj’),然后执行循环体代码
# 步骤2:从列表
['lsj','a','b']

在这里插入图片描述

三、 for循环应用案例

案例一:

# 简单版:for循环的实现方式
# l = ['lsj', 'b', 'c']  # 定义一个列表
# for x in l:
#     print(x)
# lsj
# b
# c

# 复杂版:while循环的实现方式
l = ["lsj","b","c"]
i = 0
while i < 3:
    print(l[i])
    i += 1

# lsj
# b
# c

# 使用循环取出0-5的值
# 简单版:for循环的实现方式一、
# for count in range(6):  # range(6)会产生从0-5这6个数
#     print(count)
# 复杂版:while循环的实现方式
# count = 0
# while count < 6:
#     print(count)
#     count += 1

案例二:遍历字典

# 简单版:for循环的实现方式
dic = {'name':'lsj','age':18,'gender':'male'}
for k in dic:  # for 循环默认取的是字典的key赋值给变量名k
    print(k,dic[k])
# name lsj
# age 18
# gender male

# 复杂版:while循环确实可以遍历字典,后续将会迭代器部分详细介绍

案例三:for循环嵌套

#请用for循环嵌套的方式打印如下图形:
*****
*****
*****
for i in range(3):
    for j in range(5):
        print("*",end='')
    print()  # print()表示换行

四、总结for循环与while循环的异同

(1)相同之处:都是循环,for循环可以干的事,while循环也可以干

(2)不同之处:

while循环称之为‘’条件循环‘’,循环次数取决于条件何时变为假

for循环称之为"取值循环",循环次数取决in后包含的值的个数

五、for循环控制循环次数:range()

in后直接放一个数据类型来控制循环次数有局限性:

当循环次数过多时,数据类型包含值的格式需要伴随着增加

range功能介绍

range(10)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 从0开始有头无尾

range(1,10,1)  # 1 2 3 4 5 6 7 8 9 设定开始,结束,步长

range(1,10,2)  # 1 3 5 7 9

range()的补充:python2与python3的不同之处。

在python2中对range(10)的处理:一个篮子里面装有10个鸡蛋,空间较大。

在python3中对range(10)的优化:一只可以下10个鸡蛋的母鸡,空间较小。

for搭配range,可以按照索引取值,(比较麻烦所以不推荐)

l = ['lsj', 'a', 'c']  # len(l)
for i in range(len(l)):
    print(i, l[i])
for x in l:
    print(x)

PEP8规范写法

for i in range(5):
    if i == 4:continue # PEP8规范不建议这样写
    print(i)

for i in range(5):
    if i == 4:
        continue # PEP8规范这样写
    print(i)

六、for循环的跳出

for+break: 同while循环一样,只要运行到break就会立刻中止本层循环

for+else:同while循环一样,只要运行到break就立即终止本次循环

总结:for+break,for+continue,for+else的用法与while相同

练习一:

# 打印九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print('%s*%s=%s' %(i,j,i*j),end=' ')
    print()

练习二:

# 打印金字塔
# 分析
'''
#max_level=5
     *        # current_level=1,空格数=4,*号数=1
    ***       # current_level=2,空格数=3,*号数=3
   *****      # current_level=3,空格数=2,*号数=5
  *******     # current_level=4,空格数=1,*号数=7
 *********    # current_level=5,空格数=0,*号数=9

# 数学表达式
空格数=max_level-current_level
*号数=2*current_level-1
'''
# 实现:
max_level=5
for current_level in range(1,max_level+1):
    for i in range(max_level-current_level):
        print(' ',end='') #在一行中连续打印多个空格
    for j in range(2*current_level-1):
        print('*',end='') #在一行中连续打印多个空格
    print()

读者福利:知道你对Python感兴趣,便准备了这套python学习资料,

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈



在这里插入图片描述

资料领取

这份完整版的Python全套学习资料已为大家备好,朋友们如果需要可以微信扫描下方二维码添加,输入"领取资料" 可免费领取全套资料【有什么需要协作的还可以随时联系我】朋友圈也会不定时的更新最前言python知识。
在这里插入图片描述

好文推荐

了解python的前景: https://blog.csdn.net/weixin_49892805/article/details/127196159

了解python的副业: https://blog.csdn.net/weixin_49892805/article/details/127214402

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

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

相关文章

自定义HandlerMethodArgumentResolver如何注册到springmvc框架里的

目录 1.DEBUG 注册代码 1.1 WebMvcConfigurerComposite 1.2 DelegatingWebMvcConfiguration 1.3 AutowiredAnnotationBeanPostProcessor 2.DEBUG调用代码 2.1 this.argumentResolvers 日常工作开发中&#xff0c;总有一些参数&#xff0c;在未传参数时&#xff0c;需要自定…

零编程制作疫情全国行政区地图,理性看待各地疫情防控减码

1 前言 北京宣布&#xff0c;12月5日首班车起&#xff0c;公交、地铁不得拒绝无48小时核酸阴性证明的乘客乘车。 上海宣布&#xff0c;12月5日零时起&#xff0c;乘坐地铁、公交、轮渡&#xff0c;不再查验核酸检测阴性证明。 杭州和宁波深夜发布&#xff0c;12月5日起&…

Stable Diffusion8

也写到第八了 ~~ 这次还是和mac相关哦~~ 先吹吹,苹果亲自下场优化&#xff0c;在iPhone、iPad、Mac等设备上以惊人的速度运行Stable Diffusion就是这么简单。 输入一句话就能生成图像的 Stable Diffusion 已经火爆数月。它是一个开源模型&#xff0c;而且在消费级 GPU 上就能…

如何配置settings.py文件

文章目录配置settings.py文件1) 修改语言与时区配置2) 设置时区不敏感3) 配置项目所需数据库4&#xff09;学会阅读报错信息配置settings.py文件 《settings.py配置文件&#xff08;详解&#xff09;》一文中&#xff0c;将 settings.py 配置文件的每一项给大家做了介绍。在开…

Matplotlib入门[03]——处理文本

Matplotlib入门[03]——处理文本 参考&#xff1a; https://ailearning.apachecn.org/Matplotlib官网Python 字符串前缀r、u、b、f含义 使用Jupyter进行练习 import matplotlib.pyplot as plt import numpy as np处理文本-基础 基础文本函数 在 matplotlib.pyplot 中&#xf…

服务访问质量(QoS)介绍与技术 二

个人简介&#xff1a;云计算网络运维专业人员&#xff0c;了解运维知识&#xff0c;掌握TCP/IP协议&#xff0c;每天分享网络运维知识与技能。个人爱好: 编程&#xff0c;打篮球&#xff0c;计算机知识个人名言&#xff1a;海不辞水&#xff0c;故能成其大&#xff1b;山不辞石…

基于双参数蜜蜂算法解决车辆路径问题(Matlab代码实现)

目录 1 概述 1.1研究背景 2 运行结果 3 Matlab代码实现 4 参考文献 1 概述 群智能起源于自然环境中生物群体经过长期自然进化后具有的解决问题的能力,其中的许多问题在人类看来可以归属于高复杂度的优化问题。受到生态系统中一些具有社会群体特征的物种的行为启发,模仿自然…

python基础项目实战-简单版学生管理系统

我实现的学生管理系统主要涉及到的就是其中的增、删、改、查、显示、保存和退出这几个功能,分别将每一个功能单独用一个函数来实现的。 一、学生系统操作的主界面 二、学生系统主函数调用功能选项 三、学生系统学员的显示 四、学生系统学员的查找

window11安装docker小白教程

window11安装docker小白详细教程1、安装hyper-v2、安装wsl23、安装docker并初步运行1、安装hyper-v docker的运行依赖于linux内核&#xff0c;如果是windows的系统则需要安装一个运行linux的虚拟机。在window10及其以上的系统中可以安装hyper-v&#xff08;Hyper-V 是微软开发…

A股交易接口如何用c++实现查询股东代码的?

A股交易接口是投资者获取股票市场数据的一个工具&#xff0c;使用A股交易接口能够得到更多更准确的信息&#xff0c;让你在股市当中&#xff0c;操作起来更加便捷和有效&#xff0c;对股市市场行情动向判断更加的准确一些。 股票交易接口支持各类数据的查询&#xff0c;那么今…

实现主成分分析 (PCA) 和独立成分分析 (ICA) (Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

面试题: LEAD 和 LAG 求每个用户的页面停留时长

我们先来看看这两个函数的语法&#xff1a; LEAD(col,n,default) OVER() 说明&#xff1a; 用于统计窗口内向下第n行的值参数1&#xff1a; 为要取值的列名参数2&#xff1a; 为向下第n行&#xff0c;默认值为1&#xff0c;这个值是固定的&#xff0c;不能动态的变化参数3&am…

Redis事务、pub/sub、PipeLine-管道、benchmark性能测试详解

一. 事务 1. 概念补充 (1). 原子性 一个事务(transaction)中的所有操作&#xff0c;要么全部完成&#xff0c;要么全部不完成&#xff0c;不会结束在中间某个环节。事务在执行过程中发生错误&#xff0c;会被恢复(Rollback)到事务开始前的状态&#xff0c;就像这个事务从来没…

SpringCloud Alibaba学习笔记,记重点!!

SpringCloud Alibaba入门简介 Spring Cloud Netflix 项目进入维护模式&#xff0c;Spring Cloud Netflix 将不再开发新的组件。Spring Cloud 版本迭代算是比较快的&#xff0c;因而出现了很多重大 ISSUE 都还来不及 Fix 就又推另一个 Release 了。进入维护模式意思就是目前一直…

深入了解- TCP拥塞状态机 tcp_fastretrans_alert

【推荐阅读】 浅析linux内核网络协议栈--linux bridge virtio-net 实现机制【一】&#xff08;图文并茂&#xff09; 深入理解SR-IOV和IO虚拟化 这里主要说的是TCP拥塞情况下的状态状态处理 /* Process an event, which can update packets-in-flight not trivially.* Main go…

投资者该如何看待股票接口?

大部分做量化的投资者都会使用股票接口或者量化平台来协助交易&#xff0c;我们应该怎样去看待这些工具呢&#xff1f; 首先&#xff0c;如果我们要做量化&#xff0c;肯定是需要一个靠谱的股票接口去协助自己的&#xff0c;不然只靠人工是无法达到程序化交易的目的的&#xff…

使用gitlab的cicd自动化部署vue项目shell流程踩坑之路

强烈建议&#xff1a;先在部署的服务器上手动跑一边流程 包括&#xff1a;&#xff08;服务器上要安装node、npm、git等依赖&#xff09; 1. git clone 仓库地址 2. npm install / yarn 安装依赖 3. cp -rf dist/ /var/www/html 如果以上步骤都没有出错&#xff0c;那再安…

自从面试了一个测试岗00后卷王,老油条感叹真干不过,但是...

周末和技术大佬们聚餐&#xff0c;聊到了测试行业的“金九银十”高峰就业问题&#xff0c;普遍认为转行和大学生入行的越来越多&#xff0c;内卷之势已然形成。 现在不论面试哪个级别的测试工程师&#xff0c;面试官都会问一句 “会编程吗&#xff1f;有没有自动化测试的经验&…

当线下门店遇上AI:华为云ModelBox携手佳华科技客流分析实践

摘要&#xff1a;在赋能传统门店客流经营数字化转型方面&#xff0c;华为云ModelBox与伙伴佳华科技合作推出的“华为云客流统计项目”&#xff0c;算是一次成功的探索。本文分享自华为云社区《当线下门店遇上AI—华为云ModelBox携手佳华科技客流分析实践》&#xff0c;作者&…

linux安装mysql8超详细到每步命令

1、到指定目录去下载安装包 cd /usr/local/src 2、下载mysql8 版本可以自己选择 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 3、解压mysql8, 通过xz命令解压出tar包(需要发时间解压可能会久&#xff0c;根据服务器性…