【python009--循环】
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--循环】的更多相关文章
- 了不起的分支和循环03 - 零基础入门学习Python009
了不起的分支和循环03 让编程改变世界 Change the world by program while循环 说完了分支我们来说说循环,标准的while循环语法我们已经可以熟悉掌握了. 这里我们就简 ...
- 【.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公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...
随机推荐
- 第二章:Opencv核心類Mat
Opecv就是做計算機視覺,就是讲图片转换成计算机所能识别的数据 Mat类中由大量的内联函数,主要就是用于提高速度. 一般类型都用rgb,存的时候用CV_8UC3.create函数一般会把原来的空间释 ...
- sqli-labs(六)
第十一关: 这关是一个登陆口,也是一个sql注入的漏洞,也就是常说的万能密码. 在输入框账号密码种分别输入 1' 和1' 页面会报错. 后台使用的单引符号进行的拼接.账号输入1' or '1'=' ...
- 获取Sqlserver上一句语句执行后受影响的行数@@rowCount
from:http://blog.163.com/rihui_7/blog/static/212285143201381343240404/ 返回受上一语句影响的行数. ROWCOUNT_BIG.&q ...
- js控制元素隐藏和显示
原生: 方法一: document.getElementById("idname").style.visibility="hidden"; document.g ...
- Rpgmakermv(7) Chronus插件介绍翻译
协议:MIT 作用:时间,有时间推进,可以设置速度,随着游戏中时间的推进,会发生昼夜改变和天气变化. ------------------------------------------------- ...
- MySql 应用语句
[1]MySQL基础语句 -- 查询mysql版本号 SELECT VERSION(); -- 创建数据库 DROP DATABASE IF EXISTS study; -- 如果存在先删除 CREA ...
- STO(Security Token Offering)证券型通证、代币发行介绍
STO(Security Token Offering)证券型通证.代币发行介绍:STO(Security Token Offering)是一个新的融资概念.通过证券化的通证进行融资.早在2017年年 ...
- 调查显示数据分析已取代Web开发成为第一用例
一项关于Python的开发者调查显示,编程语言现在主要用于数据分析,取代了之前的第一个用例Web开发. 去年秋天,由Python软件基金会和开发人员工具供应商JetBrains进行,2018 Pyth ...
- 使用Wisdom RESTClient进行自动化测试,如何取消对返回的body内容的校验?对排除的JSON属性字段不做校验?
使用 Wisdom RESTClient 进行自动化测试 REST API,默认是对返回HTTP状态码和body内容都进行严格匹配和校验. (1). 如果每次触发API返回的body内容是动态变化的, ...
- 全球最大的3D数据集公开了!标记好的10800张全景图
Middlebury数据集 http://vision.middlebury.edu/stereo/data/ KITTI数据集简介与使用 https://blog.csdn.net/solomon1 ...