循环语句
for...in..循环语句

1.空房间
#元素(item) 可以当成是一个变量

for i in [1,2,3,4,5]: #变量i是“空房间”

  print(i)

#有一群数字在排队办业务,也就是列表[1,2,3,4,5]

#它们中的每一个被叫到号的时候(for i in),就轮流进去一个空房间办业务

#每一个数字进去房间之后,都对计算机说:“喂,我要办这个业务:帮忙把我自己打印出来”,也就是print(i)

#然后计算机忠实的为每一个数字提供了打印服务,将1,2,3,4,5都打印在了屏幕上

2.一群等着办业务的人
列表/字典/字符串  【遍历】

for i in '吴承恩':
  print(i)


a = str(100)
for i in a: #遍历数据结构
  print(i)
1
0
0

3.业务流程
for子句
格式是【冒号】后另起一行,【缩进】写命令
——————————————————————————
range()函数

for i in range(3):
  print(i)
0
1
2  #生成一个从0到x-1的整数序列,取头不取尾

for i in range(0,10,3):
print(i)
0
3
6
9 #从0数到9(取头不取尾),数数的间隔为3
###################################################################
while循环语句
在一定的条件下,按照流程办事

————————————————————————————————————

a = 0           #先定义变量a,并赋值

while a < 5:    #设定一个放行条件:a要小于5,才能办事

  a = a + 1   #满足条件时,就办事:将a+1
  print(a)    #继续办事:将a+1的结果打印出来

————————————————————————————————————

password = ''          #变量password用来保存输入的密码
while password != '816':
  password = input('请尝试输入密码:')
print('欢迎回家!')

#######################################################
两种循环对比

工作量确定用for
工作量不确定时用while

相同点
把一件事情做N遍,for循环的代码比较简洁

n = 0
while n < 7:
  n = n+1
  if n != 4:     # 当num != 4,执行打印语句;等于4时不打印。
    print(n)

for num in range(1,8):  
  if num != 4:      # 当num != 4,执行打印语句;等于4时不打印。
    print(num)
#############################################################
练习

小明、小红、小刚是同班同学,且坐在同一排,分别坐在第一位、第二位、第三位。
由于他们的身高都差不多,所以,老师计划让他们三个轮流坐在第一位。
每次换座位的时候,第一位变第三位,后面两位都往前一位。

students = ['小明','小红','小刚']
for i in range(3):
  student = students[0]
  del students[0]           #students = students[1:]
  students.append(student)
  print(students)
['小红', '小刚', '小明']
['小刚', '小明', '小红']
['小明', '小红', '小刚']

students = ['小明','小红','小刚']
for i in range(3):
  student1 = students.pop(0)  #运用pop()函数,同时完成提取和删除。
  students.append(student1)  #将移除的student1安排到最后一个座位。
  print(students)

['小红', '小刚', '小明']
['小刚', '小明', '小红']
['小明', '小红', '小刚']

扩展
pop()函数
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
可以将其理解为提取和删除的融合:
①提取:取到元素,对列表没有影响;
②删除:删除列表的元素。
而移除,则是同时做到取到元素,并且删除列表中的元素。

提取只取不删

>>> list1 = ['0','1','2','3']
>>> print(list1[3])
3
>>> print(list1)
['0', '1', '2', '3']

删除(del)只删不取

list1 = ['0','1','2','3']
del list1[3]
print(list1)
['0', '1', '2']

移除(pop)又取又删
list1 = ['0','1','2','3']
print(list1.pop()) # 默认删除最后一个元素,并返回该元素的值。
3
print(list1)
['0', '1', '2']
print(list1.pop(0)) # 也可指定删除某个元素,并返回该元素的值。
0
print(list1)
['1', '2']
#################################################################
用数据做判断

计算机的逻辑判断,只有两种结果,就是TrueFalse。这个计算真假的过程,叫做【布尔运算】

TrueFalse,也就叫做【布尔值】

布尔值和布尔运算

print(3<5)       #括号内的是布尔运算
True             #布尔值

两个数值做比较

直接用数值做运算

布尔值之间的运算
and、or、not、in、not in

list = [1,2,3,4,5]
a = 1
print(bool(a in list))
True
print(bool(a not in list))
False

涉及到的数据集合是字典【in】和【not in】就可以用来判断字典中是否存在某个【键】
dict = {'法国':'巴黎','日本':'东京','中国':'北京'}
a = '法国'
print(bool(a in dict))

True

###########################################################################
扩展
bool()函数
>>> print(bool(False))
False
>>> print(bool(0))
False
>>> print(bool(''))
False
>>> print(bool(None))
False

>>> print(bool(True))
True
>>> print(bool(1))
True
>>> print(bool('abc'))
True
#############################################################
四种新的语句

break

一般写作if...break
在循环内部使用
for i in range(5):
  print('明日复明日')
  if i==3:             # 当i等于3的时候触发
    break # 结束循环
#Tab键和空格键不能同时混用
——————————————————————————————
continue

在循环内部使用
条件满足,触发continue语句,跳过之后代码,回到循环开始
for i in range(5):
  print('明日复明日')
  if i==3: # 当i等于3的时候触发
    continue # 回到循环开头
  print('这句话在i等于3的时候打印不出来')
明日复明日
这句话在i等于3的时候打印不出来
明日复明日
这句话在i等于3的时候打印不出来
明日复明日
这句话在i等于3的时候打印不出来
明日复明日
明日复明日
这句话在i等于3的时候打印不出来
——————————————————————————————————
pass

a = int(input('请输入一个整数:'))
if a > 100:
  pass
else:
  print('你输入了一个小于100的数字')
#当a>=100的时候,跳过,什么都不做
————————————————————————————————————
else
else不但可以和if配合使用,它还能跟for循环和while循环配合使用

for i in range(5):
  a = int(input('请输入0结束循环,你有5次机会:'))
  if a == 0:
    print('你触发了break语句,导致else语句不会生效。')
    break
else:
  print('5次循环你都错过了,else语句生效了。')

当循环中没有碰到break语句,就会执行循环后面的else语句,否则就不会执行

应用
猜三次,三次都猜错了就结束循环
如果一次就猜对了,就结束循环
secret = 24
for i in range(3):
  guess = input('guess which number is my secret:')
  if int(guess) == secret:
    print('正确!你很棒哦。') #输出结果
    break
  elif int(guess)>secret:
    print('你猜的太大了,请重新猜猜~')
  else:
    print('你猜的太小了,请重新猜猜~')
else:
  print('给你3次机会都猜不到,你失败了。')

Python 【for/while循环】的更多相关文章

  1. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  2. Python之 for循环\while循环

    list或tuple可以表示一个有序集合.如果我们想依次访问一个list中的每一个元素呢?比如 list: L = ['Adam', 'Lisa', 'Bart'] print L[0] print ...

  3. Python进阶05 循环设计

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在"循环"一节,我们已经讨论了Python基本的循环语法.这一 ...

  4. 第五篇:python基础之循环结构以及列表

    python基础之循环结构以及列表   python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...

  5. [Python笔记][第三章Python选择与循环]

    1月28日学习 Python选择与循环 选择结构 多分枝选择结构 if 表达式 1: 语句块 1 elif 表达式 2: 语句块 2 elif 表达式 3: 语句块 3 ... else : 语句块 ...

  6. Python数据结构与循环语句

    # Python数据结构与循环语句:   首先编程是一项技能,类似跑步,期初不必在意细节,能使用起来就行,等学的游刃有余了再回过头来关注细节问题也不迟.  关于买书: 学会python之后,才需要买书 ...

  7. [Python]Python 使用 for 循环的小例子

    [Python]Python 使用 for 循环的小例子: In [7]: for i in range(5): ...: print "xxxx" ...: print &quo ...

  8. 【python】Python3 循环语句

    [python]几种常见的循环 注意:如果涉及到程序中print语句中含有%d,%s,那么要在脚本最开始写语句:#coding=utf-8,才能够正常输出想要的数字或者字符串. Python3 循环语 ...

  9. python入门10 循环语句

    两种循环: 1 for in 2 while #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 循环语句 ...

  10. Python中的循环语句

    Python中有while循环和for循环 下面以一个小例子来说明一下用法,用户输入一些数字,输出这些数字中的最大值和最小值 array = [5,4,3,1] for i in array: pri ...

随机推荐

  1. overflow妙用--去除默认滚动条,内容仍可滚动

    在开发中我们往往要去除默认滚动条,但是其在竖直方向的滚动效果仍然需要. <div id="parent"> <div id="child"&g ...

  2. Java排序之归并排序

    Java排序之归并排序 1. 简介 归并排序的算法是将多个有序数据表合并成一个有序数据表.如果参与合并的只有两个有序表,则成为二路合并.对于一个原始的待排序数列,往往可以通过分割的方法来归结为多路合并 ...

  3. BufferedWriter中write与close函数使用

    BufferedWriter 是一个缓冲字符输出流,可以将要输出的内容先缓冲到一个字符数组中,等字符数组满了才一次性写到输出流内,默认的字符数组长度为8192.使用BufferedWriter 时需要 ...

  4. Flutter移动电商实战 --(18)首页_火爆专区商品接口制作

    1.获取接口的方法 在service/service_method.dart里制作方法.我们先不接收参数,先把接口调通. Future getHomePageBeloConten() async{ t ...

  5. JavaWeb MySQL 实现登录验证

    0. 环境准备 项目创建: IDEA 创建 Servlet 项目详细步骤:https://www.jianshu.com/p/386a79d16e05 导入 MySQL 驱动包: Java MySQL ...

  6. Kibana Query Language(KQL)

    语法: 官方文档 If you’re familiar with Kibana’s old lucene query syntax, you should feel right at home wit ...

  7. ES6深入浅出-1 新版变量声明:let 和 const-2.视频 let和const

    以前的var方式声明不好用 a=1回声明一个全局变量, 输出了1 说明a=1确实声明了一个全局变量. 但是你把放在其他的地方,就不是声明全局变量了. 如果外面有个全局变量a 那么函数里面就是给a赋值 ...

  8. linux简单命令6---挂载

  9. Linux -- 进程或线程独占CPU

    如果想让特定进程或线程独占某一或某些CPU,我们需要做三件事. 一,隔离CPU,避免其它线程run在被隔离的CPU上. 二,绑定所有的interrupts到非隔离的CPU上,避免被隔离的CPU收到in ...

  10. breadwinner-养家之人_20190220

    " 在我们那里,人是最珍贵的.话要说的更有道理,而不是提高音量,毕竟滋养花朵的是雨水,而不是雷鸣“ ”我叫苏莱曼,我的爸爸是个教师,我的妈妈是个作家.有一天我在路上看到一个玩具,就把它捡起来 ...