1.if条件语句
1.1if_elif-else结构
1)语法:
if 条件语句1:
代码块1
elif 条件语句2:
代码块2
elif 条件语句3:
代码块3
······
else:
代码块4
其他语句
2)执行过程
先判断条件语句1是否为True,如果为True就执行代码块1,然后整个if结果结束,直接执行后面的其他语句;
如果为False,就判断条件语句2是否为True,如果为True就执行代码块2,然后整个if结束;
如果为False,就判断条件语句3是否为True,如果为True就执行代码块3,然后整个if结束;
以此类推,如果所有的条件语句都是False,就执行else后面的代码块
练习:给一个年龄值,让你根据年龄判断这个是儿童(0 ~ 12)、少年(13 ~ 18)、青年(19 ~ 28)、中年(29 ~ 50)、老年(50以上)
age = 28
if age <= 12:
print("儿童")
elif age <= 18:
print("少年")
elif age <=28:
print("青年")
elif age <= 50:
print("中年")
else:
print("老年")
2.if嵌套
2.1可以在if结构再嵌套其他的if语句
2.2判断一个数是奇数还是偶数,同时判断这个数能不能被4整除。
num = 26
if num % 2 == 0:
print("偶数")
if num % 4 == 0:
print("能被4整除")
else:
print("奇数")
1.什么时候使用循环?
答:代码中需要重复执行某个操作的时候,就想到用循环
2.python中有for循环和while循环
3.for循环
1)语法
for 变量名 in 序列:
循环体
2) 说明
for,in - 关键字、固定写法
: - 固定写法
变量名 - 和声明变量时的变量名要求一样
序列 - 容器型数据,python中常见的序列:字符串、列表、字典、集合、元祖、迭代器、 生成器、range
循环体 - 和for保持一个缩进的一条或者多条语句。循环体就是会被重复执行的代码
3)执行过程
让变量去序列中取值,一个一个的取,取完为止;每取一个值执行一次循环体。(for循环的循环次数,由序列中元素个数来控制)
for x in "hello":
print(x)
print("======")
x = h,
h
======
x = e
e
======
x = l
l
======
···
4.range函数 - 专门用来产生一定范围的数字序列
1)range(N) - 产生一个0~N-1的数字序列(整数),注意:N必须是大于0的整数
range(10) - 产生0~9的数字
2)range(M,N) - 产生M~N-1的数字序列,注意:M和N都必须是整数,而且必须N>M
3)range(M,N,step) - 从M开始,每次加step,直到N前一个为止
print("==========range函数1==========")
for x in range(10):
print(x,"******")
print("==========range函数2==========")
for x in range(10,100):
print(x)
for x in range(0,101,2):
print(x)
练习1:统计1000以内能够被3整除的数的个数
方法一:
count1 = 0
for x in range(13,1000,13):
count1 += 1
print("个数:",count1)
方法二:
count2 = 0
for x in range(1,1000):
if x%13 == 0:
count2 += 1
print("个数:",count2)
练习2:统计1000以内能够被2整除但是不能被5整除的数的个数
count3=0
for x in range(1,1000):
if x%2 == 0 and x%5 !=0:
count3 += 1
print("个数为:",count3)
练习3:计算1+2+3+···+100
sum1 = 0
for x in range(1,101):
sum1 += x
print(sum1)
循环过程分析:
sum1 = 0
num = (1,2,3,4)
num =1,sum1 += 1 => sum1 = sum1 + 1 = 0+1 = 1
num =2,sum1 += 2 => sum1 = sum1 + 2 = 1+2 = 2
num =3,sum1 += 2 => sum1 = sum1 + 3 = 1+2+3 = 6
···
练习4:计算1x2x3x4...x10
sum2 = 1
for x in range(1,11):
sum2 *= x
print(sum2)
5.while循环
1)语法
while 条件语句:
循环体
2)说明
while - 关键字
条件语句 - 和if后面的条件语句要求一样:任何有结果的表达式(除了赋值语句以外的其他语句都可以)
循环体 - 和while保持一个缩进的一条或者多条语句:(循环体会被重复执行)
3)执行过程
先判断条件语句是否为True(如果不是布尔先转换成布尔),如果为True就执行循环体;
执行完循环体再判断条件是否为True,如果为True又执行循环体;
以此类推,直到条件语句的结果是False,整个循环结束
x = 0
while x < 次数:
需要重复执行的代码块
x += 1
练习1:使用while循环控制程序打印5行"*****"
x = 0
while x < 5:
x += 1
练习2:使用while循环计算1+2+3+···+100
x = 1
sum3 = 0
while x < 101:
sum3 += x
x += 1
print(sum3)```
6.for循环和while循环的选择
for循环:当循环次数确定的时候
while循环:当循环次数不确定的时候;死循环;
7.补充:随机数
7.1 randint(M,N) - 产生一个M~N随机数
import random
num = random.randint(0,100)
print("随机数:",num)
练习:猜数字游戏
随机产生一个数字,用户不断输入数字,直到输入的数字和产生的数字一样为止
value = int(input("请输入一个数:"))
while value != num:
if value > num:
print("大了,再小点儿")
else:
print("小了,再大点儿")
value = int(input("请输入一个数(0~100):"))
8.循环相关的关键字
1)continue关键字
continue只能出现在循环体中;当执行循环体的时候遇到continue,当次循环直接结束,进入下次循环的判断
sum4 = 0
for x in range(11)
if x%4==0:
continue
sum4 += x
2)break关键字
break只能出现在循环体中;当执行循环体的时候,如果遇到break整个循环直接结束;
print("==========break==========")
for x in range(10):
print(x)
break
print("+++")
print("======:",x)
while True:
当满足循环结束的条件时:break
练习:猜数字游戏
import random
num = random.randint(0,100)
while True:
value = int(input("请输入一个数(0~100):"))
if value == num:
break
else:
if value > num:
print("大了")
else:
print("小了")
print("猜对了!",num)
3)else关键字
for 变量 in 序列:
循环体
else:
代码块
3.1)完整的while循环
while 条件语句:
循环体
else:
代码块
注意:当循环自然死亡,会执行和循环相关联的else中的代码块;如果循环是遇到break而结束,就不会执行else中的代码块
for x in range(5):
print(x)
break
else:
print("else代码块")
print("=====")