流程控制之while循环

循环:当你需要重复一件事,就叫循环

while循环允许以布尔条件的重复测试为基础的一般重复

语法

while True:
print('hello world')
'''
while(当) <条件>:
<需要进行重复的代码块> # 当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件,%
'''

while+break

while True:
print('hello world')
break
'''
while(当) <条件>:
<需要进行重复的代码块> # 当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件,%break # 遇到break后终止while循环
'''

hello world

while+continue

count=0
while count<10:
count += 1
if count==6:
continue #跳出本次循环
print(count,end=' ') #end=''为不换行

1 2 3 4 5 7 8 9 10

while+else

count=0
while count<10:
print(count)
count+=1
else:
print('结束循环')

0 1 2 3 4 5 6 7 8 9 结束循环

while循环的嵌套

age=25
count=0
while count<3: #外层循环,控制是否还想继续
while count< 3: #内层循环,控制游戏次数
guess = input("猜测:")
if int(guess) > age:
print("猜大了")
elif int(guess) < age:
print("猜小了")
else:
print("\033[41m恭喜你猜对了\033[0m".center(30))
count=9 #控制跳出程序
break
count += 1
if count==3: #判断是否需要执行下面的代码
rode = input('还想继续吗')
if rode=='y' or rode=='Y':
count=0
print('请继续:')
elif rode=='n' or rode=='N':
print('拜拜')
break

流程控制之for循环

for循环对定义序列(如字符串中的字符、列表中的元素或一定范围内的数字)的值提供了适当的迭代

语法

 for i in range(11):
print(i,end=' ')
'''
for <变量> in <循环序列>:
【循环体】
'''

0 1 2 3 4 5 6 7 8 9 10

for+break

for i in range(0,12):
print(i,end=' ')
if i==10:
print('bai')
break
#碰到break后终止for循环

0 1 2 3 4 5 6 7 8 9 10 bai

for+continue

for i in range(0,14):
if i==12:
continue
print(i, end=' ')
#碰到continue则终止本次循环

0 1 2 3 4 5 6 7 8 9 10 11 13

for+else

for i in range(0,16,4):
print(i,end=' ')
else:
print('结束循环')

0 4 8 12 结束循环

for循环的嵌套

for i in range(1, 10):  #循环列
for j in range(1, i+1): #循环行
print(f'{j}*{i}={i*j}\t', end='')
print()
'''
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
'''

while循环与for循环的区别

while:

​ 1.会进入死循环(不可控)

​ 2.世间万物都可以作为循环的对象

for:

​ 1.不会进入死循环(可控)

​ 2.只对容器类数据类型+字符串循环

python之浅谈循环的更多相关文章

  1. Python 基于python+mysql浅谈redis缓存设计与数据库关联数据处理

    基于python+mysql浅谈redis缓存设计与数据库关联数据处理 by:授客  QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3 ...

  2. Spring5.0源码学习系列之浅谈循环依赖问题

    前言介绍 附录:Spring源码学习专栏 在上一章的学习中,我们对Bean的创建有了一个粗略的了解,接着本文浅谈Spring循环依赖问题,这是一个面试比较常见的问题 1.什么是循环依赖? 所谓的循环依 ...

  3. python itertool 浅谈迭代工具

    1.概述 Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数. 首先,我们看看itertools提供的几个“无限”迭代器: import itertools natuals ...

  4. Python之浅谈多态和封装

    目录 组合 什么是组合 为什么使用组合 多态和多态性 多态 什么是多态? 多态性 好处 多态性 什么是多态性 封装 封装是什么意思? 隐藏 如何用代码实现隐藏 python 实际上是可以访问隐藏属性的 ...

  5. Python之浅谈模块

    目录 模块的四种形式 什么是模块 import和from......import 循环导入 模块的搜索路径 Python文件的两种用途 random模块 模块的四种形式 什么是模块 ​ 模块就是一个p ...

  6. 【python】浅谈包

    python中的包可以理解为模块的集合.每个包也既可以为单包也可以有多个小包组成. Python中的package定义很简单,其层次结构与目录的层次结构相同,但是每个package必须包含一个__in ...

  7. 【python】浅谈for...else...语句

    for循环可以和 else 子句同时使用(for...else).当迭代完for循环完整个列表失败后,会执行else语句.但循环中被 break 终止的情况下不会执行.如下例子所示: for i in ...

  8. 【python】浅谈encode和decode

    对于encode和decode,笔者也是根据自己的理解,有不对的地方还请多多指点. 编码的理解: 1.编码:utf-8,utf-16,gbk,gb2312,gb18030等,编码为了便于理解,可以把它 ...

  9. Python实例浅谈之三Python与C/C++相互调用

    一.问题 Python模块和C/C++的动态库间相互调用在实际的应用中会有所涉及,在此作一总结. 二.Python调用C/C++ 1.Python调用C动态链接库 Python调用C库比较简单,不经过 ...

随机推荐

  1. 高性能可扩展mysql 笔记(三)Hash分区、RANGE分区、LIST分区

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.MySQL分区表操作 1.定义:数据库表分区是数据库基本设计规范之一,分区表在物理上表现为多个文件, ...

  2. Java实现 LeetCode 764 最大加号标志(暴力递推)

    764. 最大加号标志 在一个大小在 (0, 0) 到 (N-1, N-1) 的2D网格 grid 中,除了在 mines 中给出的单元为 0,其他每个单元都是 1.网格中包含 1 的最大的轴对齐加号 ...

  3. Java实现旅行商问题

    1 问题描述 何为旅行商问题?按照非专业的说法,这个问题要求找出一条n个给定的城市间的最短路径,使我们在回到触发的城市之前,对每个城市都只访问一次.这样该问题就可以表述为求一个图的最短哈密顿回路的问题 ...

  4. Python:求时间差(天时分秒格式)

    传入一个时间戳,以天时分秒格式打印出时间差 输入一个10位的时间戳,求出时间差 def time_diff(timestamp): onlineTime = datetime.datetime.fro ...

  5. 循序渐进VUE+Element 前端应用开发(7)--- 介绍一些常规的JS处理函数

    在我们使用VUE+Element 处理界面的时候,往往碰到需要利用JS集合处理的各种方法,如Filter.Map.reduce等方法,也可以设计到一些对象属性赋值等常规的处理或者递归的处理方法,以前对 ...

  6. Ansible facts详解

    Ansible是一个系列文章,我会尽量以通俗易懂.诙谐幽默的总结方式给大家呈现这些枯燥的知识点,让学习变的有趣一些. Ansible系列博文直达链接:Ansible入门系列 前言 如果你跟着前面的文章 ...

  7. Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to...异常处理

    这个是打开Android Studio项目报的错误提示,单纯从上面的提示还是不能太直接的知道什么问题.后来我想这个项目的Gradle版本与我当前AS使用的版本不一致,可能是这个问题. 修改build. ...

  8. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(三)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  9. Python中class的三种继承方法

    class parent(object): def implicit(self): print("Parent implicit()") def override(self): p ...

  10. layui导出表格的两种方法

    一.不熟悉layui小白使用方法 1.引入如下js文件: 2.编写如下函数: 3.表格ID要与函数取值保持一致即可,再就是自定义一个按钮触发事件 二.引入插件使用方法 1.layui官网下载插件包: ...