1.if语句的基本格式:
if 要判断的条件:
条件成立时,要做的事
需要注意的是在判断条件之后需要加上:,这是必须的,
并且在执行语句之前有 4 个空格缩进,判断语句的归属。
空格缩进与冒号是必须的
# if else的基本语句
age=input("请输入你的年龄")
# input默认输出类型为字符串类型。需要使用对其进行数据类型转换
age=int(age)
if age>=18:
print("你已经成年")
print("可以谈恋爱了")
# else之前不需要带有4个空格缩进
else:
print("你还没有成年")
print("不能谈恋爱")
# 以下没有4个空格缩进表示不在if语句的作用域以内
print("祝你生活愉快")
有空格缩进的相当于在if的作用域里面,没有缩进就在作用域外 2.if else语句:
if 条件:
满足条件要做的事
.....
else:
不满足条件要做的事
.......
以下是具体的代码演示
if int(input("请输入你的年级:"))>12:
print("你已经是一名大学生了")
else:
print("你正在为考入大学进行努力")
如上代码也说明了在if else的条件判断中也可以加入input语句 3.elif语句 在进行多条件判断时,我们需要使用elif语句,具体格式如下
if 条件一:
.........
elif 条件二:
........
elif 条件三;
........
..........
..........
else:
.......
在 C语言中的 else if()在 python 中写成 elif+条件,最后一个使用 else,后面不需要加条件,当所有条件都不满足时执行,且 elif 之前也不需要空格缩进,如下是代码演示
vip=2
age=18
if vip>3:
print("你是尊贵的会员,具有会员优惠")
elif age<18:
print("你是未成年,具有有未成年优惠")
else:
print("你不具有任何优惠")
在 if elif else 语句中判断是从上往下的判断,且 else 可以省略,但不满足任何条件时,所有程序都不执行 ,当一个程序执行了,之后的判断就不会进行了
且在判断时,可以将 input 直接写在条件判断那一块,记住要将其转化为 int 类型的数据
# 使用input插入判断语句中
if int(input("请输入你的年级:"))>12:
print("你已经是一名大学生了")
else:
print("你正在为考入大学进行努力")
再次强调一定要进行数据转换,input 输出的默认类型为字符串类型 在if语句中也存在嵌套循环,就是在if的作用域以内再写if语句,只有满足了第一个if的条件才会开始判断第二个if,嵌套的关键在于空格缩进,在if内的if需要再进行空格缩进,如下代码所示
if int(input("请输入您的年龄:"))>=18:
print("您具有游玩的资格")
if int(input("请输入您的会员等级,若无则输入0:"))>=1:
print("您是会员用户,享有七折")
else:
print("您不具有折扣")
else:
print("您是未成年,无游玩资格")
age=int(input("请输入你的年龄:"))
if age>=18:
print("你是成年人,有资格评选")
if age<30:
print("你的年龄达标")
if int(input("请输入你的任职时间:"))>2:
print("你的任职时间达标,可以领取礼物")
elif int(input("请输入你的级别:"))>=3:
print("你的级别达标,可以领取礼物")
else:
print("你的任职时间和级别都不达标,无法领取礼物")
else:
print("你的年龄不达标")
else:
print("你是未成年,无资格评选")
3.while循环的基础语法
while 条件:
满足条件执行的事情
只要条件满足,就会无限循环,在使用while时需要注意不要使其进入无限循环在 python 中没有 i++,需要写 i+=1,且需要与判断语句中一样使用空格缩进
i=0
while i<3:
print("小美我喜欢你")
i+=1
在分支循环中也有一个经典的猜数字题目
这可以巩固判断,循环,嵌套的使用
以下是这道题的解法
import random
num=random.randint(1,10)
flag=True
Count=0
while flag:
Count+=1
gess_num=int(input("请输入你猜测的数字:"))
if gess_num==num:
print("恭喜你猜中了")
print(Count)
# 停止循环
flag=False
elif gess_num>num:
print("你猜的数字大了")
elif gess_num<num:
print("你猜的数字小了")
4.while循环的嵌套使用 在嵌套循环中,有一道经典的案例题,就是打印 九九乘法表
i=0
# 控制行
while i<=9:
i+=1
j=1
# 控制列
while j<=i:
print(f"{j}*{i}={j*i}\t",end='')
j+=1
#输出一个空格来换行
print(" ")
\t 代替空格来进行上下对齐 5.for循环的基础语句 python中的for循环与C语言中的for循环大不相同
for 临时变量 in 待处理的数据集:
满足条件时执行的代码
for 循环就是将待处理数据依次挨个数据取出,每一次循环就将当前数据赋予这个临时变量,然后就可以在循环体里面取写代码,这个临时变量在循环体里也可以使用,以下是该代码的演示
name="itheima"
for x in name:
# 将name的内容,挨个取出赋予x临时变量
print(x)
输出结果为
for 循环是将字符串的内容依次取出,所以 for 循环也称为遍历循环
循环的语句同样需要空格缩进
6.range语句
在使用 range 语句时,在语法一中获得的数据不包含 num,在语法二与语法三中不包含 num2,可以想象成使一个左闭右开的区间,当只写 num 时,不写区间,此时的数据是从 0 开始的
# range语法1
range(3)
for i in range(3):
print(i)
# range语法2
range(5,8)
for i in range(5,8):
print(i)
# range语法3
range(1,9,3)
for i in range(1,9,3):
print(i)
使用 for 循环也可多次重复同一操作,例如
for x in range(5):
print("欢迎来到软创实验室")
7.变量作用域 规范上来说 for 循环中的临时变量其作用域只在 for 循环内,但非强制性,如果要规范的在 for 循环外使用这个变量其实也很简单,就是在 for 循环外去定义这个变量,如下
i=0
for i in range(5)
print(i)
print(i)
此时的书写是规范的,在作用域外打出的数据是 for 循环运行完后的数据,但如果没有i=0,系统不会报错,但是规范上是不允许的 8.for循环的嵌套使用 在嵌套使用中需要注意空格缩进,且 for 循环与 while 循环可以相互嵌套使用
当然也可使用 for 循环去打印九九乘法表,代码如下
for i in range(9):
for j in range(i):
print(f"{j+1}*{i+1}={(j+1)*(i+1)}\t",end='')
print(" ")
9.循环中断:break和continue
continue 是跳过本次循环直接进入下一次循环,continue 在嵌套循环中只作用于它所在循环的作用域中
break 是直接结束循环,直接跳出循环,在嵌套循环中于 continue 一样,只作用于它所在循环的作用域
break 与 continue 都不会对它上层的过程产生影响 10.对分支循环的综合应用
具体的解法如下
sum=10000
people=20
for i in range(people):
if sum==0:
print("工资发完了,下个月领取吧")
break
import random
grade=random.randint(1,10)
if grade<5:
print(f"员工{i},绩效分{grade},不发工资,下一位")
continue
else:
sum-=1000
print(f"员工{i}发放工资1000元,账户余额还剩{sum}元")