1、for循环语法:

for  目标  in 表达式:

  循环体

2、range()

语法:range([start] stop [, step = 1])

--这个bif有三个参数,其中用中括号括起来的两个表示这两个参数是可选的

--step =1表示第三个参数的值默认是1

--range这个bif的作用是生成一个从start参数的值到stop参数的值结束的数字序列

>>> list(range(5))
[0, 1, 2, 3, 4]
>>>

---代码含义:range(5),是从0开始的数字序列

>>> for i in range(2,9):
    print (i)
 
2
3
4
5
6
7
8

--以上代码含义:i 在range的2到9之间循环,但是不包含9

>>> for i in range(2,10,2):
    print(i)

2
4
6
8
>>>

---代码含义:range的第三个参数,是第一个参数每次递增的数字

二、两个关键的语句:break,continue

break关键字:终止当前循环,跳出循环体

bingo = '尘封是个大帅哥!!!'
answer =  input('请输入尘封最想说的一句话:')

while True:
    if bingo == answer:
        break
    else:
        answer = input('抱歉输错了,请继续输入吧:')
print('太棒了,回答正确!')

---只要是真实的,就退出程序

continue关键字:终止本轮循环,开始下一轮循环

for i in range(10):
    if i%2 != 0:
        print(i)
        continue
    i +=2
    print(i)
================== RESTART: /Users/wufq/Desktop/continue.py ==================
2
1
4
3
6
5
8
7
10
9

---此段代码的含义:当i%2 余数不等于0的时候执行print(i)循环语句,否则跳出(continue)进入i +=2的循环体

三、练习题:

1、设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含“*”则不计算在内

程序设计思路:

a、给三次输入机会

b、只要输入*,则需要重新输入

c、在不包含*的时候,输入的次数会递减(错误次数用完弹出机会用完,输入对弹出密码正确,进入程序。。。)

times = 3
password = '123456'

while times:
    passwd = input('请输入密码:')
    if passwd == password:
        print('密码正确,进入程序。。。。。')
        break
    elif '*' in passwd:
        print('密码中不能含有“*”,您还有',times,'机会')
        continue
    else:
        print('密码输入错误,您还有', times-1,'机会')
    times -=1

2、编写一个程序,求100~999之间的所有水仙花数

如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数,例如:153=1^3+5^3+3^3,因此153就是一个水仙花数

(插入知识点:

  “/”除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:

   >>> 10/3
    3.3333333333333335

  还有一种除法是"//",称为地板除,两个整数的除法仍然是整数:

  >>> 10 //3
  3

  "%",两个整数相除取余数

  >>> 10%3
  1

  )

程序设计思路:

a、创建一个变量设置100~999的随机数

for i in range(100, 1000):
    sum = 0
    temp = i
    while temp:
        sum = sum + (temp%10) ** 3
        temp //= 10         # 注意这里要使用地板除哦~
    if sum == i:
        print(i)
3、三色球问题
    有红,黄,蓝三种颜色的球,其中红球3个,黄球3个,绿球6个,先将这12个球混合放在一个盒子中,从中任意摸出8个球,编程计算摸出球的各种颜色搭配

print('red\tyellow\tgreen')
for red in range(0, 4):
    for yellow in range(0, 4):
        for green in range(2, 7):
            if red + yellow + green == 8:
                # 注意,下边不是字符串拼接,因此不用“+”哦~
                print(red, '\t', yellow, '\t', green)

注释:range(2,7)是产生[2,3,4,5,6]这5个数,绿球不能是1个,因为如果绿球是1个的话,红球+黄球需要有7个才能符合题意,而红球和荒丘每种只有3个,因此是range(2,7)
red    yellow    green
0      2      6
0      3      5
1      1      6
1      2      5
1      3      4
2      0      6
2      1      5
2      2      4
2      3      3
3      0      5
3      1      4
3      2      3
3      3      2
>>>

【python009--循环】的更多相关文章

  1. 了不起的分支和循环03 - 零基础入门学习Python009

    了不起的分支和循环03 让编程改变世界 Change the world by program while循环 说完了分支我们来说说循环,标准的while循环语法我们已经可以熟悉掌握了. 这里我们就简 ...

  2. 【.net 深呼吸】细说CodeDom(8):分支与循环

    有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...

  3. Recurrent Neural Network系列1--RNN(循环神经网络)概述

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...

  4. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  5. 模仿Linux内核kfifo实现的循环缓存

    想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...

  6. 【JS基础】循环

    for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...

  7. 【python之路4】循环语句之while

    1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...

  8. To Java程序员:切勿用普通for循环遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  9. JavaScript单线程和浏览器事件循环简述

    JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...

  10. .NET基础 一步步 一幕幕[循环、逻辑语句块]

    循环.逻辑语句块   好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...

随机推荐

  1. Lepus(天兔)监控MySQL部署

    http://www.dbarun.com/docs/lepus/install/lnmp/ 注意:xampp mysqldb-python版本太高会导致lepus白屏 apache版本最好选择2.2 ...

  2. JavaScript-模拟收银台小程序

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  3. js控制元素隐藏和显示

    原生: 方法一: document.getElementById("idname").style.visibility="hidden"; document.g ...

  4. HashMap(JDK1.8)

      四个构造函数: 构造方法只是赋值属性初始值但是不会真正初始化数组表空间,在第一次添加元素时形成数组表空间.这个和以往的jDK1.7之前的不同,1.7之前的都是在构造里初始化了table数组空间. ...

  5. Day9 面向对象高级

    一.方法 方法包括:普通方法.静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方式不同. 普通方法:由对象调用:至少一个self参数:执行普通方法时,自动将调用该方法的对象赋值给self: ...

  6. 动态创建 Plist 文件

    简介 Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plist ,因此通常被称为 plist文件,文件是xml格式的. 写入plist文件 在 ...

  7. arm cortex-m0plus源码学习(一)整体框架

    Cortex-M0 分别是系统.电源管理.时钟.复位 由于.cm0p_ik_defs.v里 `define  ARM_CM0PIK_IOP 0,这里的gpio是ahb接口的,画叉的部分没有例化. ah ...

  8. win7 64位 python启动报错:无法启动此程序,因为计算机中丢失api-ms-win-crt-process-l1-1-0.dll

    安装python3.7,安装成功后,在cmd窗口输入python检查是否安装成功,报错:无法启动此程序,因为计算机中丢失api-ms-win-crt-process-l1-1-0.dll 在网上查询了 ...

  9. 虚拟机连不上网 Xshell连不上虚拟机

    以centos7 为例 1,确定network connection 为NAT 2, 打开网络连接中心 Control Panel\Network and Internet\Network Conne ...

  10. JsonPath:从多层嵌套Json中解析所需要的值

    问题 应用中,常常要从嵌套的JSON串中解析出所需要的数据.通常的做法是,先将JSON转换成Map, 然后一层层地判空和解析.可使用 JsonPath 来解决这个问题. 给定一个 JSON 串如下所示 ...