python基础之循环
一、while循环
如果条件成立(true),重复执行相同操作,条件不符合,跳出循环
while 循环条件:
循环操作
(1)while循环示例
例:输入王晓明5门课程的考试成绩,计算平均成绩
i= # 初始化循环计数器i
sum= # 初始化总成绩变量
while i<=: # 从i为1开始到5,重复执行一共5次接受考试成绩、求和的操作
print ('请输入第%d门课程的考试成绩'%i) # 提示用户输入成绩,其中用到了格式化输出,%d的取值随i的值显示,第1门课程,第2门课程……
sum=sum+input() # 把用户输入的成绩赋值给sum,最后保存着5次成绩的和
i=i+ # 每次循环 i 都自增1,直到大于5跳出循环
avg=sum/(i-) # 当第五次执行完i=i+1时,i为6,跳出循环,计算出sum/(i-)的值就是平均值,并赋值给avg
print ('王晓明5门课程的平均成绩是%d'%avg) # 格式化输出avg的值,由于用了%d所以计算出的%avg的数值有小数也会省去,接收整数部分
(2)嵌套while循环示例
外部循环满足条件后,执行代码开始执行内部循环,等内部循环全部执行完毕,如果还满足外部循环条件,则外部循环再次执行,依次类推,直到跳出外层循环。
例:分别输入两个学生的5门成绩,并分别计算平均成绩
j= # 定义外部循环计数器初始值
prompt='请输入学生姓名' # 定义字符串变量,在用户输入时调用此变量可以减少敲汉字的麻烦
while j<=: # 定义外部循环为执行两次
sum=0 # 定义成绩初始值,之所以定义在这里,是为了当第二个学生输入成绩时可以让sum初始化为0,重新接收新学生的成绩和
i= # 定义内部循环计数器初始值
name = raw_input(prompt) # 接收用户输入的学生姓名,赋值给name变量
while i<=: # 定义内部函数循环5次,就是接收5门课程的成绩
print ('请输入第%d门的考试成绩: '%i) #提示用户输入成绩,其中用到了格式化输出,%d的取值随i的值显示,第1门课程,第2门课程……
sum= sum + input() # 接收用户输入的成绩,赋值给sum
i+= # i变量自增1,i变为2,继续执行循环,直到i等于6时,跳出循环
avg=sum/(i-) # 计算第一个学生的平均成绩 sum/(-),赋值给avg
print name,'的平均成绩是%d\n'%avg # 输出学生成绩平均值
j=j+ # 内部循环执行完毕后,外部循环计数器j自增1,变为2,再进行外部循环
print '学生成绩输入完成!' # 外部循环结束,提示输入完成!
二、for循环
(1)使用for语句可以遍历全部元素,例如逐个输出字符串中的字符,逐个输出列表中的元素,元组中的元素,集合中的元素(注意赋值时各元素的顺序),字典中的键……
for letter in 'Python':
print letter 结果:
P
y
t
h
o
n
fruits=['西瓜','水蜜桃','葡萄']
for fruit in fruits:
print fruit 结果:
西瓜
水蜜桃
葡萄
(2)重复执行相同操作
使用range()函数创建一个数字列表
取值范围:从起始数字开始到结束数字之前
for i in range(,): #依次把0到4保存在变量i中
print 'Mr.Mangood最酷!' 结果:
Mr.Mangood最酷!
Mr.Mangood最酷!
Mr.Mangood最酷!
Mr.Mangood最酷!
Mr.Mangood最酷!
输入王晓明的三门考试成绩,并算出平均值
subjects=('linux系统','Mysql数据库','Python语言') # 定义一个元组,三个元素代表三门课程
sum= # 定义变量num为初始化成绩分数
for i in subjects: # 把元组里的每一个元素依次赋值给i,一共有三次
print '请输入%s的考试成绩'%i # 提示输入成绩,运用了格式化字符串功能,用i每次取得的元素名表达出成绩名字,%s的意思是字符串
score = input() # 接收用户输入的成绩赋值给score
sum += score # 把成绩赋给sum,相当于sum = sum + score
avg= sum / len(subjects) # 跳出for循环后,计算平均值,这里用函数len()来计算变量subjects的长度,因为subjects定义为一个元组,因此长度即为元素个数3
print '王晓明的平均成绩为%d'%avg # 输出平均成绩 结果:
请输入linux系统的考试成绩 请输入Mysql数据库的考试成绩 请输入Python语言的考试成绩 王晓明的平均成绩为85
(3)嵌套for循环
输入黄晓鸣、杨影2位同学,每人三门课程的考试成绩,计算平均成绩
student = (23'黄晓鸣','杨影') #定义学生姓名的元组
subjects=('linux系统','Mysql数据库','Python语言') #定义课程名字的元组
for j in student: #把j依次取两名学生的值进行两次循环
sum=0 #初始化成绩的值
print '%s同学的考试成绩'%j #打印出标题
for i in subjects: #定义课程循环
print '请输入%s的考试成绩'%i #提示输入其中一名学生的考试成绩
score = input() #接收考试成绩赋值给score
if score<0 or score>100: #判断分数取值范围,做提醒
print '注意成绩大小'
sum+=score #每次输入成绩后,sum值都累加
avg= sum/len(subjects) #求出平均成绩
print j,'的平均成绩是%d\n'%avg #打印平均成绩
print'完成学生成绩录入工作' #提示完成工作
三、循环控制
循环控制语句可以改变循环正常的执行顺序
循环控制语句
break语句:跳出本次循环(嵌套循环中只跳出一层循环)
continue语句:跳过当前一轮循环体的剩余语句,重新测试循环状态,进入下一轮循环,比如循环的次数一共有5次,第四次遇到continue了,那么不继续执行了,直接进行第5次循环判断
四、循环控制综合案例
1、需求分析
显示菜单
(N)ew User Login
(E)ntering User Login
(Q)uit
Enter choice:
注:输入字母N,接收新的登录名和密码,保存在字典中
输入字母E,接收登录名、密码、查找、匹配用户输入是否正确
输入字母Q,退出
2、执行步骤
(1)编制菜单
(2)使用while语句实现菜单项选择-外层循环
(3)使用while语句接收新的登录名-内层循环
(4)使用if语句判断菜单,执行相关操作
3、代码架构图
4、具体代码
db={}
prompt='''
(N)ew user login
(E)ntering user login
(Q)uit
Enter choice:'''
while True:
choice = raw_input(prompt).strip()[0].lower() #读取控制台输入的字符串,去除其首尾多余的空格后,将第一个字符串转换为小写字母
print '\n--You picked:[%s]'%choice
if choice not in 'neq':
print '--invaild option:,try again--'
else:
if choice == 'n':
prompt1 = '--login desired:'
while True:
name = raw_input(prompt1)
if db.has_key(name): #判断字典里的键值是否已经有输入的name值,如果有的话触发continue重新执行while循环,因为触发continue前prompt1被重新定义了,所以执行了新的name = raw_input(prompt1)
prompt1 = '--name taken,try another: '
continue
else:
break
pwd = raw_input('password:') #验证字典中的键没有输入的name值后,跳出循环,把用户输入的密码赋值给pwd
db[name] = pwd #把值传给字典db中的name键实现字典数据的完善
elif choice == 'e':
name = raw_input("login:")
pwd = raw_input('password:')
password = db.get(name) #登录时,接收用户输入的登录名和密码后,把字典db中name键的值赋给password
if password == pwd: #比较字典中的密码password和用户输入的密码pwd是否一致
print 'welcome',name
else:
print 'shibai'
else:
print 'quit!'
break
python基础之循环的更多相关文章
- 第五篇:python基础之循环结构以及列表
python基础之循环结构以及列表 python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...
- Python 基础 while 循环
Python 基础 while 循环 while 循环 在生活中,我们遇到过循环的事情吧?比如循环听歌.在程序中,也是存才的,这就是流程控制语句 while 基本循环 while 条件: # 循环体 ...
- python基础之循环结构以及列表
python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...
- python基础(六)循环
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进来表示程序 ...
- python基础之循环语句
一.if条件语句: 语法: 1.if单分支(单重条件判断) if expression: expr_true_suite 注释:expession为真执行代码expr_true_suite if单分支 ...
- python基础之循环与迭代器
循环 python 循环语句有for循环和while循环. while循环while循环语法 while 判断条件: 语句 #while循环示例 i = 0 while i < 10: i += ...
- Python基础->for循环、字符串以及元组
python流程控制>for循环.字符串以及元组 学习有关序列的思想.序列:一组有顺序的东西.所有的序列都是由元素组成的,序列中的元素位置是从0开始编号的,最后一个元素的位置是它长度减一. fo ...
- Python 基础06 循环
循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系. 循环也会用到类似的写法. for 循环 for 循环需要预先设定好循环的次数(n) 然后执行隶属于fo ...
- Python基础 | 关于“循环”那些事
目录 for 循环 list range enumerate zip while 循环 while相当于if时 while充当for和if的混合体 泛循环 列表解析 map 迭代器 生成器 循环的跳出 ...
随机推荐
- 117. Populating Next Right Pointers in Each Node II (Tree; WFS)
Follow up for problem "Populating Next Right Pointers in Each Node". What if the given tre ...
- 简述json模块
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,他的数据结构与Python中的字典一样,键值对来表示数据间的关系,可以包含列表. 在编写 ...
- LCD相关基础知识
1.什么是LCD? (1)LCD(Liquid Crystal Display)俗称液晶.液晶是一种材料,液晶这种材料具有一种特点:可以在电信号的驱动下液晶分子进行旋转,旋转时会影响透光性, 因此我们 ...
- 如何快速获取官网帮助信息 (附 11g pdf 文档)
http://docs.oracle.com/en/ 11g Release 2 (11.2) 搜索时指定网站 site:docs.oracle.com create table site:docs. ...
- 基于智能手机的3D地图导航
https://www.gpsworld.com/resources/archives/ Going 3D Personal Nav and LBS To enrich user experience ...
- python 3安装PDFMiner3K
首先确保,你的pyhton是python 3 可在https://www.python.org/downloads/处下载 打开cmd,键入pip3 install pdfminer3k
- window.location 对象
http://www.home.com:8080/windows/location/page.html?ver=1.0&id=timlq#love 1, window.location.hre ...
- sitecore 缓存管理器
namespace XXX.Shared.Infrastructure.Caching { using System; using System.Collections.Generic; using ...
- Eavl() 数据绑定格式化时间
<%#Eval("字段名","{0:yyyy-MM-dd}") %> 或者 <%#((DateTime)Eval("news_tim ...
- 虚拟机安装MAC OS X 10.9与Windows 7共享文件夹的方法
在虚拟机中安装好MAC OS X后, 把CD/DVD中的ISO映像换成 VMwareWorkstation安装目录下的/darwin.iso, 然后连接上 进入MAC 系统后, 先安装vmware t ...