四时宝库

程序员的知识宝库

一文学会Python编程中的循环语句——for循环

为什么我们要使用for循环

天下熙熙皆为利来,天下攘攘皆为利往。下面就介绍一些for循环的优点,快来一起看一下吧:

  1. 迭代:for循环允许你遍历一个集合(如列表、数组、元组、字符串或字典)的元素,并对每个元素执行相同的操作。例如,你可以使用for循环来遍历一个列表并打印出每个元素。
  2. 简化代码:使用for循环可以避免编写大量重复的代码。你可以将重复的代码块放入循环中,并通过循环变量来控制循环的次数和每次迭代中要处理的数据。
  3. 自动化处理:for循环特别适合处理大量数据或需要自动化完成的任务。例如,你可以使用for循环来自动发送电子邮件、生成报告或更新数据库。
  4. 灵活性:for循环可以与其他控制结构(如if语句、break和continue)结合使用,以提供更灵活和强大的控制逻辑。
  5. 提高性能:在某些情况下,使用for循环比使用其他方法(如递归)更高效。特别是在处理大量数据时,使用for循环可以减少内存使用和计算时间。

一、for循环基础

1.基本运作

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

在Python中,for 循环基本语法格式如下:

  • for var in 可迭代对象:
  • 程序代码

2.流程图

3.实例

将字母转化为大写

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

选择列表区间元素

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


找到姓李的人

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

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

删除列表元素

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


二、for+range()函数

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

1.range(n)

实例:

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

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("-----------------------")

3.range(start,end,step)

实例:?

print("-----------------------")
for i in range(10,0,-2):
    print(i)
print("-----------------------")

4.列表生成

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

实例:求余

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

三、进阶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()

?


2.for循环--break指令

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

流程图:

实例:猜数字游戏

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 语句配合使用。

流程图:


实例:记录及格人数

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)


四、参考资料

《python王者归来》 洪锦魁著

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接