判断语句进行逻辑判断,是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。
进行判断,只有2个结果:是/否
布尔(bool) 表达现实生活中的逻辑,即真和假
True表示真
False表示假。
True本质上是一个数字记作1,False记作0
运算符 | 描述 | 示例 |
---|---|---|
== | 判断内容是否相等,满足为True,不满足为False | 如a=3,b=3,则(a == b) 为 True |
!= | 判断内容是否不相等,满足为True,不满足为False | 如a=1,b=3,则(a != b) 为 True |
> | 判断运算符左侧内容是否大于右侧满足为True,不满足为False | 如a=7,b=3,则(a > b) 为 True |
< | 判断运算符左侧内容是否小于右侧满足为True,不满足为False | 如a=3,b=7,则(a < b) 为 True |
>= | 判断运算符左侧内容是否大于等于右侧满足为True,不满足为False | 如a=3,b=3,则(a >= b) 为 True |
<= | 判断运算符左侧内容是否小于等于右侧满足为True,不满足为False | 如a=3,b=3,则(a <= b) 为 True |
if 判断的条件:
条件成立,下一步操作
elif 判断条件:
else:
条件不成立。
print("欢迎来到SCDN游乐场,儿童免费,成人收费,需要购买会员")
if int(input("请输入你的年龄:")) < 18:
print("小朋友免费哦,游览愉快!")
else:
print("你已经成年,需要购买会员,30元")
案例2:
1.数字随机产生,范围1-10
2.有3次机会猜测数字,通过3层嵌套判断实现
3.每次猜不中,会提示大了或小了
import random
num = random.randint(1,10) # 生成随机数1-10
num1 = int(input("请猜想一个数字:"))
if num == num1:
print(f"恭喜你,第一次就猜对了,随机数为{num}")
else:
if num1 > num:
print("你猜大了")
else:
print("你猜小了")
num1 = int(input("请再猜想一个数字:"))
if num == num1:
print(f"恭喜你,第二次猜对了,随机数为{num}")
else:
if num1 > num:
print("你猜大了")
else:
print("你猜小了")
num1 = int(input("请再猜想一个数字:"))
if num == num1:
print(f"恭喜你,第三次终于猜对了,随机数为{num}")
else:
print("很遗憾~三次都没有猜中")
循环普遍存在于日常生活中,同样,在程序中,循环功能也是至关重要的基础功能。
while 条件:
条件满足,执行1
条件满足。执行2
.。。
注意点:
案例1:
需求:通过while循环,计算从1累加到100的和
sumh = 0
i = 1
while i <= 100:
sumh += i
i += 1
print(f"1-100的和为:{sumh}")
案例2:
设置一个范围1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数
无限次机会,直到猜中为止
每一次猜不中,会提示大了或小了
猜完数字后,提示猜了几次
import random
num = random.randint(1,100) # 生成随机数1-100
count = 0
while True:
num1 = int(input("请猜一个数字:"))
count += 1
if num1 == num:
print("恭喜你猜中了")
break
else:
if num1 > num:
print("你猜大了")
else:
print("你猜小了")
print(f"你总共猜了{count}次,随机数为{num}")
案例3:
i = 1
while i < 10:
j = 1
while j < i+1:
print(f"{j} * {i} = {j*i}\t",end="") # end占位符,不换行
j += 1
i += 1
print() # 换行
除了while循环语句外,Python同样提供了for循环语句。
两者能完成的功能基本差不多,但仍有一些区别:
while循环的循环条件是自定义的,自行控制循环条件
for循环是一种”轮询”机制,是对一批内容进行”逐个处理”
同while循环不同,for循环是无法定义循环条件的。
只能从被处理的数据集中,依次取出内容进行处理。
for 变量 in 数据集:
满足条件执行的语句
range语句:
获得一个数字序列(可迭代类型的一种)
range语句的语法格式:
range(num)# 语法1从0开始,到num结束(不含num本身)
range(num1,num2)# 语法2从num1开始,到num2结束(不含num2本身)
range(num1,num2,step)# 语法3从num1开始,到num2结束(不含num2本身),步长以step值为准
for循环和while循环可以相互嵌套使用
案例:
通过for循环,输出九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(f"{j} * {i} = {j*i}\t", end="")
print()
用以对循环进行临时跳过和直接结束
continue关键字用于:中断本次循环,直接进入下一次循环
break关键字用于:直接结束所在循环
注意事项:continue和break,在for和while循环中作用一致在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用
某公司,账户余额有1W元,给20名员工发工资。
员工编号从1到20,从编号1开始,依次领取工资,每人可领取1000元
领工资时,财务判断员工的绩效分(1-10)(随机生成),如果低于5,不发工资,换下一位
如果工资发完了,结束发工资。
import random
money = 10000
for i in range(1,21): # 20个员工
scores = random.randint(2, 10)
if scores < 5:
print(f"员工{i}的绩点为{scores}小于5,不发工资,下一个")
continue # 跳出当前循环
else:
money -= 1000
print(f"员工{i}的绩点为{scores}大于5,领取工资1000元,余额为:{money}")
if money == 0:
print("没钱了,不发了")
break