for 和while循环 if else
for和 while循环
当你知道循环次数的话就用for循环,
不知道的时候用while循环,while必须要有结束条件
a +=1 等于 a =a+1
for i in xxx:
i:是一个变量,是把xxx里面的某一个值取出来存到i里面
xxx:可以是序列(序列包括:列表、元祖、字符串)
还可以是可迭代对象
>>> a = "abc"
>>> for i in a:
... print(i)
...
a
b
c
>>> a = 0
>>> while a<=5:
... print(a)
...
a+=1
...
0
1
2
3
4
5
>>>
#调试技巧 例题 打印出每一步的结果
>>> result =0
>>> for i in [1,2,3,4]:
... print("i的取值",i)
... result+=i
...
print("计算结果",result)
...
i的取值 1
计算结果 1
i的取值 2
计算结果 3
i的取值 3
计算结果 6
i的取值 4
计算结果 10
>>> print(result)
10
>>>
例:
题目:[1,2,3,4,5,7]你输入一个数字,判断一下是否在这个list中,执行3次这个逻辑。
算法:
1、循环3次 (for)
for i in range(3)
2、输入一个数字(input),存到某个变量里
user_num
=int(input("请输入一个数字:"))
3、判断这个数字在不在[1,2,3,4,5,7]
desc_list =[1,2,3,4,5,7]
4、如果在,打印一下;不再也打印一下。
if user_num in desc_list:
print("%s 在" %user_num)
else:
print("%s 不在" %user_num )
实现:
>>> desc_list
=[1,2,3,4,5,7]
>>> for i in range(3):
... user_num =int(input("请输入一个数字:"))
... if user_num in desc_list:
... print("%s 在" %user_num)#模板字符串表达方式 "%s a
number" %1 '1 a number'
... else:
... print("%s 不在" %user_num)
...
请输入一个数字:5
5 在
请输入一个数字:2
2 在
请输入一个数字:1
1 在
>>>
continue:跳出本次循环,执行下一次
... if i==3:
...
break
...
>>>
for i in range(10):
... if i==3:
... break
...
print(i)
...
0
1
2
>>> for i in range(10):
... if i==3:
...
continue
... print(i)
...
0
1
2
4
5
6
7
8
9
>>>
while 条件:只要条件是True
代码块会永远执行
死循环应用场景:
1 服务器端:一般死循环
2 你也不知道循环多少次的时候就要用到死循环
练习题:
死循环:
用户输入数字,判断是奇数还是偶数
当输入的数字是100的时候,结束第循环
>>> while 1:
... user_num =int(input("请输入一个数字:"))
... if user_num%2==0:
... print("%s 是偶数" %user_num)
... else:
...
print("%s 是奇数" %user_num)
... if
user_num==100:
... break
...
请输入一个数字:2
2 是偶数
请输入一个数字:3
3 是奇数
请输入一个数字:4
4 是偶数
请输入一个数字:5
5 是奇数
请输入一个数字:6
6 是偶数
请输入一个数字:100
100 是偶数
>>>
练习题:
输入三种字母:e、a、r
如果等于e,那么退出循环
如果输入a,执行continue
如果输入r,那么在读取一次字母,并打印
用死循环实现
>>> while 1:
... date = input("输入一个字母:")
... if date == 'r':
... date = input("输入一个字母:")
... if date == 'a':
... continue
...
if date == 'e':
... break
...
输入一个字母:d
输入一个字母:d
输入一个字母:f
输入一个字母:g
输入一个字母:h
输入一个字母:r
输入一个字母:a
输入一个字母:g
输入一个字母:e
if...elif...else...
if可以单独存在,elif和else不可以单独存在会报错
>>> if len(str)==9:
... print("等于9")
... elif len(str)<9:
... print("小与9")
... elif len(str)>9:
... print("大于9")
... else:
... print("其他")
...
等于9
>>>
for 和while循环 if else的更多相关文章
- 【.net 深呼吸】细说CodeDom(8):分支与循环
有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...
- Recurrent Neural Network系列1--RNN(循环神经网络)概述
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- 模仿Linux内核kfifo实现的循环缓存
想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...
- 【JS基础】循环
for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...
- 【python之路4】循环语句之while
1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...
- To Java程序员:切勿用普通for循环遍历LinkedList
ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...
- JavaScript单线程和浏览器事件循环简述
JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...
- .NET基础 一步步 一幕幕[循环、逻辑语句块]
循环.逻辑语句块 好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...
- Linux进程管理及while循环
目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...
随机推荐
- 16路PWM输出的pca9685模块
今天要介绍的就是该模块,该模块是16路pwm模块,使用I2C总线可以控制16路舵机(led). 接线OE空着就可以,其他VCC是芯片供电+5,SCL时钟线,SDA信号线,GND地线. 芯片介绍可以看: ...
- [转]Linux中python3.6+ipython+Jupyter Notebook环境
python3.6安装 下载python安装包,这里下载的最新的3.6.1版本 https://www.python.org/ftp/python/3.6.1/ 将安装包上传到服务器并解压 tar z ...
- [转]自建Syncthing中继服务器(私密传输或造福大众)
自建Syncthing中继服务器(私密传输或造福大众) 一.介绍 我之前介绍了Syncthing,作为一款开源的文件同步程序,它的功能还是非常强大的,我也很高兴能看到它被越来越多的人知道和使用,前几天 ...
- Linux简易APR内存池学习笔记(带源码和实例)
先给个内存池的实现代码,里面带有个应用小例子和画的流程图,方便了解运行原理,代码 GCC 编译可用.可以自己上网下APR源码,参考代码下载链接: http://pan.baidu.com/s/1hq6 ...
- Unity 中实现粒子系统的 LOD
模型的 LOD 比较简单,直接使用 Unity 提供的组件 LODGroup 挂到模型物体上,然后分别指定不同 LOD 级别的 Renderer 即可. LODGroup 并不是用距离来控制 LOD, ...
- 黄聪:Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- pip改源
临时 python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.10 # ==后边指定版本号,也可以不指定 ...
- listener.starting()源码探究
容器启动时,监听器调用starting方法,本质是找到匹配的监听器,广播事件,开始监听 上节对寻找匹配监听器做了分析,其是这个过程比较重要的部分,本文开始监听,反而不是那么复杂,如下: 找匹配监听器就 ...
- transform、transition、animation 区别
Transform 在部分的test case当中,每每演示transform属性的,看起来好像都是带动画.这使得小部分直觉化思维的人(包括我)认为transform属性是动画属性.而恰恰相反,tra ...
- SfMLearner 记录
2019年3月2日09:29:54 正在看SfMLearner的pytorch源码,意识到无监督的深度估计最重要的是利用实体的一致性 来建立loss. 对于一个不移动的物体,相机从一个pose到另一个 ...