Python for循环你了解吗

目录
  • 一、For 语法结构和基于数字(range)的循环
  • 二、基于列表list,元组tuple的循环
  • 三、跳过单次循环
  • 四、马上退出循环
  • 五、嵌套循环
  • 六、一次性退出嵌套循环
  • 七、 显示循环的index和值
  • 八、可循环类--随机数循环
  • 总结

一、For 语法结构和基于数字(range)的循环

for x in range(5):
    print('hello')

二、基于列表list,元组tuple的循环

numbers1 = [1,2,3,4,5]
numbers2 = (6,7,2,5)
name = "zhang"
for x in numbers1:
    print(x)
for x in numbers2:
    print(x)
for x in name:
    print(x)

列表、元组、字典、集合、字符串等都可以用 for 来遍历

三、跳过单次循环

for x in [3,4,5,8,9]:
    if (x % 3 == 0):
        continue
    print(x)

continue 跳过本轮循环后面的语句,马上进入下一轮循环,仍然在 for 循环里面

四、马上退出循环

numbers = [3,4,5,8,9]
for x in numbers:
    if (x == 5):
        break
    print(x)
print("程序结束了")

break 直接退出循环,而不是退出程序,仍然可以执行for循环之外的东西

实例1:一个for循环,从1 到100,如果是3的倍数输出’Y‘;如果是5的倍数输出’N‘;如果又是3的倍数又是5的倍数,输出’Hello‘;其他都直接输出数字自己

for x in range(1,101):
    if (x % 3 == 0):
        print('Y')
    elif (x % 5 == 0):
        print('N')
    elif (x % 3 == 0 & x % 5 == 0):
        print('Hello')
    else:
        print(x)

实例2:上面实例1 再增加一个条件:如果是7的倍数就什么都不做;如果碰到66就退出。

for x in range(1,101):
    if (x % 3 == 0 and x % 15 != 0):
        print('Y')
        if (x == 66):
            break
    elif (x % 5 == 0 and x % 15 != 0):
        print('N')
    elif (x % 15 == 0):
        print('Hello')
    elif (x % 7 == 0):
        continue
    else:
        print(x)

五、嵌套循环

weeks = ['Monday','Tuesday','Friday']
for x in weeks:
    for n in x:
        print(n)
    print("-------")

六、一次性退出嵌套循环

weeks = ['Monday','Tuesday','Friday']
is_found = False
for x in weeks:
    if (is_found):
        break
    for n in x:
        if(n == 'a'):
            is_found = True
            break
        print(n)
    print("-------")

七、 显示循环的index和值

scores = [98,97,95,86,23]
for order,s in enumerate(scores):
    print(order+1,s)

enumerate 这个函数的基本应用就是用来遍历一个集合对象,它在遍历的同时还可以得到当前元素的索引位置。

八、可循环类--随机数循环

import random
class RandomCount:
    def __iter__(self):
        return self
    def __next__(self):
        return random.randint(1,10)

rc = RandomCount()
for s in rc:
    print(s)

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python中的for循环详情

    目录 1.可迭代对象 1.1什么是可迭代对象 1.2怎么判断 2.字符串的for循环 3.列表的for循环 4.元组的for循环 5.字典的for循环 5.1keys() 5.2 values() 5.3 items() 6.range函数的for循环 6.1基础案例 6.2找出100以内能够被5整除的数 6.3高斯求和 7.多个for语句 8.列表推导式 9.for-else 10.实现三角阵列 11.99乘法表 for语句实际上解决的是循环问题.在很多的高级语言中都有for循环(for lo

  • python基础之for循环

    For 循环 可以遍历字符串,也可以遍历列表 # for 循环 # 语法特点:遍历操作,依次取集合容器中的几个值 # for 临时变量 in 容器: # 执行代码块 tags='我是一个中国人' #字符串类型本身就是一个字符类型的集合 for item in tags: print(item) pass # range 此函数可以生成一个数据集合列表 # range(起始:结束:步长) 步长不能为0 for data in range(1,101): #数据是左包含右不包含 print(data

  • Python for 循环语句的使用

    Python for 循环语句 Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 语法: for循环的语法格式如下: for iterating_var in sequence: statements(s) #!/usr/bin/python # -*- coding: UTF-8 -*- for letter in 'Python': # 第一个实例 print '当前字母 :', letter fruits = ['banana', 'apple', 'mango'

  • Python全栈之for循环

    目录 1. 双向循环的练习 2. break_pass_continue的使用 3. for循环 小提示: 4. 小练习 问题: 答案: 总结 1. 双向循环的练习 # 1.用两个循环完成十行十列的小星星 j = 0 while j < 10: # 打印星星 i = 0 while i < 10: print("*",end="") i+=1 # 打印换行 print() j += 1 # 2.用两个循环完成十行十列隔列换色的小星星 "&quo

  • python for循环赋值问题

    背景 写代码的时候,你会发现你的代码越写越多. 然而,功能需要也越来越多,然后你的冗余代码就多得不能再多了~~~怎么办,我太难了. 那就寻求一些高级写法,一般的高级写法都是尽可能地短. 另外,把重复的代码抽取出来,封装成函数,每次使用直接调函数即可. For循环赋值 前提条件:我创建了一个road类,这个类里面有这些属性.我先初始化给road赋值,然后再把这些对象放到roadObjList集合里面. 目标:从roadObjList集合里面取出每个road对象的objectid值,然后放入到新的列

  • 浅谈python for循环的巧妙运用(迭代、列表生成式)

    介绍 我们可以通过for循环来迭代list.tuple.dict.set.字符串,dict比较特殊dict的存储不是连续的,所以迭代(遍历)出来的值的顺序也会发生变化. 迭代(遍历) #!/usr/bin/env python3 #-*- coding:utf-8 -*- vlist=['a','b','c'] vtuple=('a','b','c') vdict={'a': 1, 'b': 2, 'c': 3} vset={'a','b','c'} vstr='abc' for x in vl

  • Python增量循环删除MySQL表数据的方法

    需求场景: 有一业务数据库,使用MySQL 5.5版本,每天会写入大量数据,需要不定期将多表中"指定时期前"的数据进行删除,在SQL SERVER中很容易实现,写几个WHILE循环就搞定,虽然MySQL中也存在类似功能,怎奈自己不精通,于是采用Python来实现 话不多少,上脚本: # coding: utf-8 import MySQLdb import time # delete config DELETE_DATETIME = '2016-08-31 23:59:59' DELE

  • Python while 循环使用的简单实例

    while循环是在Python中的循环结构之一. while循环继续,直到表达式变为假.表达的是一个逻辑表达式,必须返回一个true或false值,本文章向码农介绍Python while 循环使用方法,需要的朋友可以看一下本文章. 一个循环是一个结构,导致第一个程序要重复一定次数.重复不断循环的条件仍是如此.当条件变为假,循环结束和程序的控制传递给后面的语句循环. while循环: while循环是在Python中的循环结构之一. while循环继续,直到表达式变为假.表达的是一个逻辑表达式,

  • Python减少循环层次和缩进的技巧分析

    本文实例分析了Python减少循环层次和缩进的技巧.分享给大家供大家参考,具体如下: 我们知道Python中冒号和缩进代表大括号,这样写已经可以节省很多代码行数,但是可以更优化,尽可能减少循环的层次和缩进,让代码看起来更简洁,逻辑更清楚.不仅Python语言如此,其他语言也一样. 如图,是两段Python代码,前后两段要实现的功能是一样的,但是第二段明显可读性更好,逻辑更佳清晰.在很多循环嵌套的时候,其实可以用"逆向思维",用continue跳出不符合条件的循环,而不是成立的时候继续执

  • python中循环语句while用法实例

    本文实例讲述了python中循环语句while用法.分享给大家供大家参考.具体分析如下: 对于python的while语句,注意其缩进即可. python和其他语言一样也有break和continue,分别用来表示跳出循环和继续循环. #!/usr/bin/python # Simple while loop a = 0 while a < 15: print a, # 在print a后面加,不换行 if a == 10: print "made it to ten!!" a

  • Python文件循环写入行时防止覆盖的解决方法

    存在问题: 利用写入代码 with open(r'F:\PythonFiles\PycharmFile\ssq.csv', 'w', encoding='utf-8-sig', newline='') as csvFile: csv.writer(csvFile).writerow([col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11]) # 给csv文件中插入一行 向CSV文件中循环写入行时,后面的数据总是把前面的数据覆盖掉 解决方

  • 对python while循环和双重循环的实例详解

    废话不多说,直接上代码吧! #python中,while语句用于循环执行程序,即在某个条件下,循环执行某段程序,以处理需要重复处理的相同任务. #while是"当型"循环结构. i=1 while i<=20: print(i,end=" ") i+=1 sum=0 i=1 while i<=100: sum+=i i+=1 else: print("\n",sum) print("0+2+...+100=",su

  • python数组循环处理方法

    简介 本文主要介绍python数组循环语法.主要方式有元素遍历,索引遍历,enumerate, zip, list内部等. 普通循环 list1 = ['item1', 'item2', 'item3'] for item in list1: print(item) //结果 item1 item2 item3 根据index循环 1 list1 = ['item1', 'item2', 'item3'] index = 0 for item in list1: print('index:' +

  • 完美解决在oj中Python的循环输入问题

    完美解决在oj中Python的循环输入问题 这几天做题被python的循环输入问题给烦死了,好好查了一下,记录在此. while True: t= sys.stdin.readline().strip() if len(t)==0: #判断是否为空串 ,使用t==""也可以 break t= int(t) nums=[int(i) for i in sys.stdin.readline().strip().split(' ')] res = getDiff(t,nums) print

  • python字符串循环左移

    本文实例为大家分享了python字符串循环左移的具体代码,供大家参考,具体内容如下 字符串循环左移 给定一个字符串S[0-N-1],要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a'.'b'移动到字符串的尾部,得到新字符串"cdefab":即字符串循环左移k位. 循环左移k位等价于循环右移n-k位. 算法要求: 时间复杂度为 O(n),空间复杂度为 O(1). 分析思路: 暴力移位: 每次循环左移1位,调用k次即可 时间复杂度O(kN

随机推荐