一、分支结构
1.if分支结构
1).if
'''
if 条件语句:
执行语句块
说明:
a. if:python中的关键字,'如果'的意思,用来做判断
b. 条件语句:最终的结果会被转换成布尔值
c. :冒号:冒号是固定写法,必须写!
d.执行语句块:这儿可以是多行语句,但是每行语句必须和前面的if保持一个缩进
'''
执行过程:先判断条件语句的结果是否为True,如果为True就执行冒号后面的执行语句块,
否则直接执行if模块后的其他语句
练习:用一个变量保存一个学生的成绩,要求:当学生的成绩大于90的时候,打印优秀,不管成绩多少,都把成绩打印出来
score = 80
print('%d:'%(score),end='')
if score>90:
print("优秀")
2)if-else
语法:
if 条件语句:
执行语句块1
else:
执行语句块2
说明:else:关键字(else后面的冒号不能省)
执行过程:先判断条件语句的结果是否为True,如果是就执行语句块1,执行完语句块1后再 执行其他语句,如果是False,就执行语句块2,执行完语句块2之后就执行其他的语句
要求年龄大于等于18就打印成年,否则打印未成年
age = 12
if age >=18:
print("成年")
else:
print("未成年")
3).if-elif-else
语法:
if 条件语句1:
语句块1
elif 条件语句2:
语句块2
elif 条件语句3:
语句块3
...
else:
语句块n
#要求成绩大于90分打印优秀,80-90打印良好,60-79及格,60以下不及格
score = 78
if socre > 90:
print('优秀')
elif score >= 80:
print('良好')
elif socre >= 60:
print('及格')
else:
print('不及格')
执行顺序:先判断if里的条件语句,如果第一个条件语句不满足,则执行下一个判断
4).if语句的嵌套
每个if分支中都可以嵌套其他的if语句
if 条件1:
执行语句1
if 条件2:
执行语句2
else:
执行语句3
else:
执行语句4
练习:成绩和年龄,如果成绩大于等于90并且年龄是18及以上1000元,如果年龄小于18就获取奖金1200元,如果成绩小于90不管多少岁,就没有奖金
score = 90
age = 18
if score >= 90:
if age >= 18:
print("获得1000元奖金")
else:
print("获得1200元奖金")
else:
print("没有奖金")
练习:产生一个随机数,判断随机数是否是偶数,如果是打印偶数,否则打印奇数,如果能被4整除,再打印能被4整除
import:是python中导入模块或者模块中内容的关键字
random是python内置的产生随机数的模块
import random
number = random.randint(10,20) #产生一个10到20的随机整数,并且存到numer中
注意:10到20(包括20)都可能产生
import random
number = random.randint(1,100)
if number % 2:
print('奇数:%d'%(number))
else:
print('偶数:%d'%(number))
if not number%4 :
print('%d可以被4整除'%(number))
#判断一个数是否是偶数的两种写法
if number % 2 ==0:
print('偶数')
#推荐
if not number % 2:
print('偶数')
if number % 2:
print('奇数')
#判断一个字符串是否是空串
#方法一:
if str =='':
print("是空串")
else:
print("不是空串")
#方法二:
if len(str1) == 0:
print("是空串")
else:
print("不是空串")
#方法三:
if str1:
print("不是空串")
else:
print("是空串")
二、循环结构
python中的循环结构有两种:for循环和while循环
1.for循环的结构
for 变量名 in 序列:
循环体
a.for:关键字
b.变量名:和声明变量时的变量名的要求一样
c.in:关键字
d:序列,容器(数据本身是由多个数据组成),例如:字符串、列表、字典、元组、集合、range、生成式和生成器
e.循环体:需要重复执行的代码
执行过程:让变量去序列中取数据,每取一次数据,执行一次循环体,取完为止
#range函数时python中的内置函数,作用是产生指定范围中的数字
'''
range(N):产生0~N-1的所有整数
range(N,M):产生N~M-1的所有整数
range(N,M,step):从N开始,每step产生一个整数,到M之前
xrange()是python2中的函数,python3中用range代替了
'''
练习:计算1+2+3+...+100
s = 0
for i in range(101):
s += i
print(s)
练习统计1~1000中能白3整除的个数
#方法一
count=0
for i in range(0,1001,3):
if not i:
count = 0
else:
count+=1
print(count)
#方法二
count=0
for _ in range(3,1001,3):
count += 1
print(count)
注意:for循环中用来获取序列值的变量,在循环体不是一定要使用
如果不用,那么变量名可以命名为_
2.while循环
1).结构
while 条件语句:
循环体
2).说明:
while:关键字
条件语句:结果是True或者False
循环体:要重复执行的代码
3).执行过程:
判断条件语句的结果是否为True,如果为True就执行循环体,执行完循环体在判断条件语句是否为True
使用while循环算出1~100的和
s=0
i=1
while i < 101:
s += i
i += 1
print(s)
练习,问,循环结束后,x的值和sum1的在建瓯,分别是多少
x = 1
sum1 =0
while x <= 5:
x += 1
sum1 += x
#x=6
#sum1=2+3+4+5+6=20
#x=6,sum1=20
#for循环和while循环的选择和比较
#for循环的循环次数是有限的,并且是固定的:while循环的循环次数不确定
#for循环:1.遍历序列中的值。2.循环次数确定
#while循环:1.死循环。2.循环次数不确定
#练习:找大于10000的数中第一个能够被23整除的数
num =10000
while num % 23:
num += 1
print(num)
#10005
3.break和continue关键字
break和continue放到循环体有特殊的功能
break:程序执行到break,整个循环直接结束,然后执行循环外面的其他的语句
continue:程序执行到continue,结束本次循环,进入到下次循环的判断