一.分之结构
python中的分之结构只有if语句,没有switch
1.if语句
a.语法“
if 条件语句:
代码段
b.说明:
if - 关键字
条件语句 - 任何有结果的表达式(不管结果是什么类型)
“:” - 固定写法
代码段 - 和if 保持一个缩进(tab)一条或者多条语句
c.执行过程
先判断条件语句的结果是否是True,如果是True就执行冒号后面的代码段,否者就不执行
注意:如果条件语句的条件不是布尔,会先将结果转换成布尔在判断
1.1 if 后面可以写哪些语句 - 除了赋值语句不能写在if后面,其他都可以
num = int(input("请输入一个数:"))
if num & 1 == 0:
print("%d是偶数" %(num)) # 和if保持一个缩进的语句是在条件成立的时候才执行
else:
print("%d是奇数" % (num))
print(".....") #在if外面的语句是不管if条件是否成立都会执行
2.if - else
a.语法:
if 条件语句:
代码段1
else:
代码段2
b.执行过程
先判断if条件是否为True,如果是True就执行代码段1,否则就执行代码段2
import random
num1 = random.randint(0,100)
if num1 & 1 :
print("%d是奇数"%(num1))
else:
print("%d是偶数" %(num1))
3.if - elif - else
a.语法
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3
......
else:
代码段4
b.执行过程
先判断条件语句1是否为True,为True就执行代码段1,
否则就判断条件语句2是否为True,为True就执行代码段2,
否则就判断条件语句3是否为True,为True就执行代码段3,
否则就判断条件语句n是否为True,为True就执行代码段n,
如果之前的所有条件都为False,就执行else语句。
注意:
1.后面的条件判断前提是前面的条件不成立
2.这的elif根据情况可以有多个,else也可以省略
#根据成绩对成绩进行分段,<60打印不及格,60~70 及格 71~89良好 90以上优秀
num2 = int(input("请输入您的成绩:"))
if num2 < 60:
print("您的成绩不及格")
elif num2 <=70:
print("您的成绩及格")
elif num2 <90:
print("您的成绩良好")
else:
print("您的成绩优秀")
4.if 嵌套
可以在if,elif,else后面在写其他if语句
#如果一个数字是偶数就打印“偶数”,否则打印“奇数”,如果偶数还能被4整除,再打印“4的倍数”
num1 = random.randint(0,100)
print(num1)
if num1 % 2 == 0:
print("偶数")
if num1 % 4 ==0:
print("4的倍数")
else:
print("奇数")
二、循环
python中的循环结构有两种:for循环和while循环
什么时候用循环:某个操作需要重复执行,就考虑用循环
1.for循环
a.语法:
for 变量 in 序列:
循环体
b.说明:
for - 关键字
变量 - 随便命名(满足变量名要求)
in - 关键字
序列 - 可以是字符串、列表、元祖、字典、集合、迭代器、range
循环体 - 和for保持一个缩进的一条或多条语句(需要重复执行的代码)
c.执行过程
让变量去序列中取值,一个一个的取,取完为止,每取一个值,执行一次循环体
(for循环中,序列中的值的个数,决定了循环的次数,序列中的内容,控制每次变量取到的值)
注意:如果for后面的变量渠道的值,在循环体里面不使用,那么这个变量命名的时候,用一个_来命名
for x in range(1,10,3):
print(x)
2.range
range(n) - 产生一个数字序列,序列中的内容时0 ~n-1(结果是序列)
range(m,n) - 产生一个数字序列,序列中的内容时m ~n-1(结果是序列)
range(m,n,step) - 产生一个数字序列,序列中的内容从m开始,每次加step,知道n前为止(结果是序列)
- range一般用在:
a.需要产生指定范围的数字序列
b.单纯的控制for循环的次数
i = 'runoob'
for i in range(len(i)):
print(len(i))
3.while循环
a.语法
while 条件语句
循环体
b.说明
while - 关键字
条件语句 - 有结果的表达式(除了赋值语句,一般的表达式都行)
: - 固定写法
循环体 - 和while保持一个缩进的一条或多条语句(会被重复执行)
c.执行过程
先判断条件语句是否为True,为True就执行循环体,
执行完循环体再判断条件语句是否为True,为True就执行循环体,
执行完循环体再判断条件语句是否为True,为True就执行循环体,
直到判断条件语句的结果为False,整个循环结束
# 获取1,2,3...100
num = 1
while num <= 100:
num += 1
print(num)
#使用while循环 获取字符串 “abc123”中的每个字符
str1 = 'abc123'
num1 = 0
while num1 < len(str1):
print(str1[num1])
num1 += 1
4.for循环和while循环的选择
python中for循环能做的while循环都能做到,但while能做的for不一定能做
-
使用for:
a.获取序列中的元素(值)
b.循环次数确定 -
使用while循环
a.死循环
b.循环次数不确定时
#练习。程序可以不断的输入,知道输入0为止
num2 = input("请输入")
while num2 != '0':
num2 = input('请输入')
print('ok')
三、continue.break,else
1.continue
是一个关键字,只能存在循环体中
功能:当循环执行过程中遇到continue,会结束当次循环,直接进入下次循环
(直接进入下次循环的判断:for循环就是用变量去下一个值,while循环就是直接判断条件语句是否为True)
sum1 = 0
for x in range(100):
if x % 2 == 0:
continue
sum1 += x
print(sum1)
2.break
是一个关键字,只能卸载循环体中
功能:当循环执行过程中遇到break,整个循环结束
num = 1
sum1 = 0
while True:
if sum1+num >= 10:
break
sum1 += num
num += 1
print(sum1)
#运行过程:
"""
num = 1
sum1 = 0
1+0 >= 10 False sum1 = 1 num = 2
1+2 >= 10 False sum1 = 3 num = 3
3+3 >= 10 False sum1 = 6 num = 4
6+4 >= 10 True break
"""
3.else
a.语法
while 条件语句:
循环
else:
代码段
for 变量 in 序列:
循环
else:
代码段
b.执行过程:
else结构不会影响原循环执行过程,当循环自然死亡的时候,就会执行else后面的代码段,循环因为遇到break而结束时,不会执行else后面的代码段
for x in range(10):
print(x)
if x == 3:
break
else:
print('for循环结束了')
网友评论