Python(11)--for循环

简介: Python(11)--for循环

一、for循环基础


1.基本运作


for 循环可以让程序将整个对象内的元素遍历(也可以称迭代),在遍历期间,同时可以纪录或输出每次遍历的状态或称轨迹。

for 循环基本语法格式如下:

for var in 可迭代对象:

程序代码

2.流程图



6736197e5a0d414db384017c8a0b77b1.png

3.实例


将字母转化为大写


1. data=['aa','bb','cc','dd']
2. for i in data:
3. print(i+"的大写:"+i.upper())


448bc70baec6421b8a903e996f6e57b2.png


选择列表区间元素

1. data=['aa','bb','cc','dd']
2. for i in data[0:3]:
3. print(i+"的大写:"+i.upper())



92e6c1ddcdd34b7cbc40a7415aeacdc8.png


找到姓李的人

startswith():判断字符串是否以指定字符或子字符串开头


data=['李华','张三','李四','王伟']
name=[]
for i in data:
    if i.startswith('李'):
        name.append(i)
print(name)

b5cf70963b7b49eeb9f28d45c93c8301.png


删除列表元素

1. data=['李华','张三','李四','王伟']
2. for i in data[:]:
3.     data.remove(i)
4. print(data)


c1a845cefab3449cac19ee52671ef4e7.png

二、for+range()函数


Python 可以使用 range ()函数产生一个等差序列,我们又称这等差序列为可迭代对象,也可以称是 range 对象。由于 range ()是产生等差序列,我们可以直接使用,将此等差序列当作循环的计数器。


1.range(n)


实例:

for i in range(5):
    print("@",end='')


6f8a243887804b6fafdb7a6b91473db0.png


2.range(start,end)


start是起始值,end-1是终止值,可以产生 start 起始值到end-1终止值之间每次递增1的序列, start 或 end 可以是负整数,如果终止值小于起始值则产生空序列或称空 range 对象。

实例:

print("-----------------------")
for i in range(5,1):
    print(i)
print("-----------------------")
for x in range(-2,2):
    print(x)
print("-----------------------")
for x in range(2,2):
    print(x)
print("-----------------------")
for x in range(0,5):
    print(x)
print("-----------------------")


2159d5b350bb4e2882b664dca42f9d06.png

3.range(start,end,step)

实例:


1. print("-----------------------")
2. for i in range(10,0,-2):
3. print(i)
4. print("-----------------------")



5b7587e2a81e4f3b8923bace984318f5.png


4.列表生成


新列表=【表达式 for 项目 in 可迭代对象】

实例: 求余


n=int(input("输入整数:"))
yu=[num//2 for num in range (1,n+1)]
print(yu)


f53bc405789345e3b32fcdaff1087fe7.png


三、进阶for循环


1.嵌套for循环


for 变量 in 对象

    ...

    for 变量 in 对象

              ...

实例:打印九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        result=i*j
        print("%d*%d=%-2d"% (i,j,result),end='\t')
    print()

cb7be1368a344453968f298d46b3ac34.png


2.for循环--break指令


在设计 for 循环时,如果期待某些条件发生时可以离开循环,可以在循环内执行 break 指令,即可立即离开循环,这个指令通常是和 if 语句配合使用。

流程图:



image.png


实例:猜数字游戏

import random
def GuessSecret(maxtimes):
    times = 0
    guess = 0
    secret = random.randint(0, 100)
    print("-----欢迎参加猜数字游戏,游戏现在开始 -----")
    for times in range(maxtimes):
        while guess != secret:
            times += 1;
            guess = int(input("数字区间0-100,请输入你猜的数字:"))
            print("你输入的数字是:", guess)
            if guess == secret:
                print("你猜了{}次,猜对了,真厉害".format(times))
                break
            else:
                if (guess > secret):
                    print("太大了!")
                    shengyutimes = maxtimes - times
                    print("你还有{}次机会".format(shengyutimes))
                    break
                else:
                    print("太小了!")
                    shengyutimes = maxtimes - times
                    print("你还有{}次机会".format(shengyutimes))
                    break
    print("游戏结束")
maxts=eval(input("@请输入猜数字的最大次数:"))
GuessSecret(maxts)


参考博客:Python猜数字游戏(4版)_码银的博客-CSDN博客_guess=0


3.continue指令


在设计 for 循环时,如果期待某些条件发生时可以不往下执行循环内容,此时可以用 continue 指令,这个指令通常是和 if 语句配合使用。


流程图:


05f0cf3d3cd54271993190e3b6d044bd.png

实例:记录及格人数

scores=[100,30,60,70,33,60,55,80]
nums=0
for i in scores:
    if i<60:
        continue
    else:
        nums+=1
print("及格人数:%d个人"%nums)


4e9c3300cf914653b9433924f4fa06b0.png


四、参考资料


《python王者归来》 洪锦魁著


参考博客:Python猜数字游戏(4版)_码银的博客-CSDN博客_guess=0

本博客是纯粹个人学习,与朋友交流共赏,不存在任何商业目的。

如果您对此文章及作品版权的归属存有异议,请立即通知我,我将在第一时间予以删除,同时向你表示歉意!


相关文章
|
5月前
|
存储 弹性计算 固态存储
阿里云服务器收费标准与最新活动价格一览,轻量应用服务器38元起,云服务器99元起
阿里云服务器最新价格参考,云服务器的收费标准主要包含CPU内存配置价格、云盘价格和带宽价格等,官方会不定期调整收费标准和活动价格,目前,共享型经济型e实例云服务器2核2G3M还是只要99元1年,独享型通用算力型u1实例云服务器2核4G5M企业用户购买只要199元1年,而轻量应用服务器的抢购价格已经到了38元1年,每天仅需0.1元。更多配置的云服务器的最新收费标准和活动价格表见下文。
|
网络架构
子网划分中subnet-id可以取全0和全1吗?子网计算实战
子网划分划分中的全0 和全 1在不同模式下处理情况不同。分为 classful 和classless,如果你的路由器工作在classful环境下,全0 和全1网段是不能使用的,而classless的掩码任何时候都和IP地址成对地出现。所以说要看题目给的具体情况,
828 0
|
存储 分布式计算 Hadoop
aws s3常用命令、hdfs dfs/hadoop fs常用命令
aws s3常用命令、hdfs dfs/hadoop fs常用命令
1616 0
|
存储 关系型数据库 MySQL
MySQL数据库的表中 NULL 和 空值 到底有什么区别呢?
一篇短文让你明白MySQL数据库的表中 NULL 和 空值之间的区别!
5244 0
MySQL数据库的表中 NULL 和 空值 到底有什么区别呢?
|
关系型数据库 测试技术 数据库
rds迁移前准备数据一致性保障
rds迁移前准备数据一致性保障
303 5
|
存储 分布式数据库 数据库
C语言 B树的分析与实现
本文主要说明了B树的概念、应用以及如何用C语言实现B树。
240 1
|
存储 安全 Shell
【Shell 命令集合 磁盘维护】Linux 检测和识别硬盘或文件系统中的坏块 badblocks命令使用教程
【Shell 命令集合 磁盘维护】Linux 检测和识别硬盘或文件系统中的坏块 badblocks命令使用教程
616 0
|
关系型数据库 MySQL Apache
Flink CDC产品常见问题之直接升级里面的Debezium版本失败如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
缓存 开发框架 网络协议
HTTP协议介绍
HTTP协议介绍
225 0