python中的循环结构
python中的循环结构有两种:for循环和whlie循环
当某个操作/某段代码需要 重复的执行的时候,就需要用到循环结构
1.for循环结构
'''
语法:
for变量 in 序列:
循环体
说明:
for ->关键字,写法固定
变量 ->变量名,按照变量名要求命名
in -->关键字,写法固定
序列 ->要求是一个值,而且必须是一个序列(容器)比如:字符串、列表、字典、集合、元祖、迭代器、范围(Range)
循环体 ——>和for保持一个缩进的代码段,循环体会被重复执行循环体可以写任何代码
执行过程:让变量去序列中取值一个一个取,取完为止,每取一个,执行一次循环体
'''

练习:获取字符串'a78and71-cd'中数字字符的个数

2.range函数
range(n):产生一个(0~(n-1))范围对应整数序列

注意:Python2.x -->xrange Python3.x -->range
练习:计算1+2+3+4+.....+100
b.range(m,n):产生一个m~n-1范围对应的整数序列

c.rang(m,n,step):产生一个m~n-1中隔step范围对应的整数序列

练习:计算1+2+3+4+.....+100


5.注意,循环机构中变量取到的值不一定在循环中,如果这个变量的值在循环中不需要的时候,可以将变量名命名为_
练习:打印5行*****

1.while循环结构
Python中没有do_while
'''
语法:
while 条件语句:
循环体
说明:
while ->关键字
条件语句 —->和if后面条件语句要求一样,可以使任何有值的表达式(不能是赋值语句)
: --> 固定写法
循环体 ——>重复执行的代码段,循环体要和while保持一个缩进
执行过程:判断条件语句的结果是否为Ture,为Ture执行循环体。
执行完循环体,再判断条件语句是否为False,为True又执行循环体。。。
以此类推,直到条件语句为False,循环结束
注意:while True —-->死循环'''
用while循环实现1+2+3+。。+100

练习:求n!=123...*10

练习:用while循环获取‘Hello Python’中每个字符

1.如果是不断的获取序列中的元素,直接使用for循环
2.如果循环次数确定,最好也使用for循环
3.死循环和循环次数不确定的时候最好使用while
练习:随机产生一个数字(0~100),不断的输入数字,直到输入的数字和产生的随机数相同为止。
如果猜错了提示大了或者小
import random
产生一个随机数
number = random.randint(0, 100)
返回从键盘接收到的数据(输入的时候以回车结束),返回的数据类型是字符串

1.continue
只能写在循环体中,作用是,当遇到continue就结束当次循环直接进行下次循环的判断
下次循环的判断:for -> 让变量取下一个值 while -> 判断条件是否为True

2.break
只能写在循环体中
只要在循环中遇到break,整个循环直接结束。执行循环后面的其他语句

3.else
"""
for 变量 in 序列:
循环体
else:
代码块
while 条件语句:
循环体
else:
代码块
循环自然死亡后,执行else后面的代码。如果循环因为遇到break结束,else后边的代码块就不会执行
"""

代码都是从上往下执行
import是导入一个模块、包的关键字
random模块中提供很多和随机相关的功能
Python中的分支结构只有if结构,没有switch
1.if就是在程序用来判断的(需要在满足某个条件的时候,才做什么事情的情况下就考虑用if)
randint(m,n)
2. if结构
"""
a.语法:
if 条件语句:
执行语句块
b.说明
if-->要求最终有一个值,可以使一个字面量,也可以是一个变量。。一般结果为布尔值
: -->固定写法
执行语句块 -->可以使一行或者多行代码,这个代码中的代码必须和前面中的if保持一个缩进
c.执行过程:先判断条件语句语句的结果是否为Ture,为Ture就执行冒号后面的语块。
否则就不执行,直接执行if后面的其他语句
d.
练习?:判断一个字符是否为字母,如果是就打印“该字符是字母”
不管是不是字母都打印印出来的字符

3.if-else
"""
语法:
if 条件语句:
执行语句块1
else:
执行语句块2
执行过程:先判断条件语句是否为Ture,如果为Ture就执行条件语句1,否则执行语句块2
"""

4.if-elif-else结构
"""
if 条件语句1:
语句1
elif 条件语句2:
语句块2
else:
语句块3
执行过程:先判断条件语句1是否成立,
如果成立就执行语句块1,然后整个if机构结束。
如果不成立再判断条件语句2是否成立,
如果条件语句2成立,就执行语句块2,然后整个if结构结束
如果条件语句2不成立,就执行条件语句3
注意:if-elif-else结构中,elif可以根据情况有多个,else可以省略,如果有else,else写在最后
"""
练习?随机产生0-100的年龄值,根据年龄不同确定人处那个阶段。。
0-3-->幼儿 4 --12岁 -->儿童 13 --18 -->少年 19--28 青年 29以上 -->老人

练习成绩(grade)和超评(scrore)
成绩大于4并且评大于等于90-->一等奖学金
成绩在3.5到4,并且超评大于90-->二等奖学金
成绩在3到3.5,,并且超评大于85-->三等奖学金
其他情况没有奖学金

5.if嵌套
在分支结构中,我们可以if,elif,或者else后面嵌套一个或者多个其他的if语句
练习:判断一个数是否是偶数,如果是打印‘是偶数’
并且判断这个偶数能不能被4整除,如果能打印‘是4的倍数’否则打印‘不是4的倍数’
如果是奇数,打印奇数的最后一位/判断最后一位是否是1
