Python基础(二)——判断、循环

判断语句

进行逻辑判断是生活中常见的行为,同样,在程序中,进行逻辑判断也是最为基础的功能

布尔类型和比较运算符

布尔类型的定义

布尔类型的字面量:

  • True 表示真(是、肯定)
  • False 表示假(否、否定)

定义变量存储布尔类型数据:

变量名称 = 布尔类型字面量

布尔类型不仅可以自行定义,也可以使用比较运算符得到布尔类型的结果

比较运算符

运算符 描述
== 判断内容是否相等,满足为True,否则为False
!= 判断内容是否不相等,满足为True,否则为False
> 判断内容左侧内容是否大于右侧,满足为True,否则为False
< 判断内容左侧内容是否小于右侧,满足为True,否则为False
>= 判断内容左侧内容是否大于等于右侧,满足为True,否则为False
<= 判断内容左侧内容是否小于等于右侧,满足为True,否则为False

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool_1 = True
bool_2 = False
print(f"bool_1变量内容:{bool_1},类型是:{type(bool_1)}")
print(f"bool_1变量内容:{bool_2},类型是:{type(bool_2)}")

num_1 = 10
num_2 = 10
num_3 = 100
print(f"10 == 10 的结果:{num_1 == num_2}")
print(f"10 == 100 的结果:{num_1 == num_3}")

"""
输出结果:
bool_1变量内容:True,类型是:<class 'bool'>
bool_1变量内容:False,类型是:<class 'bool'>
10 == 10 的结果:True
10 == 100 的结果:False
"""

if语句的基本格式

语法

if 要判断的条件:

​ 条件成立是,要执行的语句

注意:条件结果一定是布尔类型,条件后面要加冒号,归属于if语句的代码块前方要有四个空格!!!

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
age = 30
if age >= 18:
print("我已经成年了")
print("离我的18岁越来越远了")

print("时间过得真快呀")



"""
我已经成年了
离我的18岁越来越远了
时间过得真快呀
"""

if-else语句

语法

if 条件:

​ 满足条件时执行语句1

​ 满足条件时执行语句2

else:

​ 不满足条件时执行语句1

​ 不满足条件时执行语句2

实例

1
2
3
4
5
6
7
age = input("欢迎来到黑马儿童游乐园,儿童免费,成人收费。\n请输入你的年龄:")
age = int(age)
if age >= 18:
print("您已成年,游玩需要补票10元")
else:
print("您未成年,可以免费游玩")
print("祝您游玩愉快")

if-elif-else

语法

if 条件1:

​ 满足条件1时执行语句1

​ 满足条件1时执行语句2

elif 条件2:

​ 满足条件2时执行语句1

​ 满足条件2时执行语句2

elif 条件N:

​ 满足条件N时执行语句1

​ 满足条件N时执行语句2

else:

​ 不满足所有条件时执行语句1

​ 不满足所有条件时执行语句2

注意:判断是互斥且有顺序的,else可以省略不写,效果等同3个独立的if判断,可以在判断语句中直接写input语句,节省代码量

实例

1
2
3
4
5
6
7
8
if int(input("请输入第一次猜想的数字:")) == 10:
print("恭喜第一次就猜对啦")
elif int(input("不对,再猜一次:")) == 10:
print("猜对啦")
elif int(input("不对,再猜最后一次:")) == 10:
print("猜对啦")
else:
print("Sorry,全部猜错啦,我想的是:10")

判断语句的嵌套

有很多场景,不仅仅是多个并置条件,还会有满足前置条件才会二次判断的多层判断需求,对于这种需求,可以通过判断语句的嵌套

注意:

  • 判断语句可以用于多条件,多层次的逻辑判断
  • 嵌套判断语句可以根据需求,自由组合if-elif-else来构建多层次判断
  • 嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系

循环语句

循环在程序中同判断一样,也是广泛存在的,是非常多功能实现的基础

while循环

语法

while 条件:

​ 条件满足时,执行语句1

​ 条件满足时,执行语句2

​ ……

注意:

  • while的条件时布尔类型,True表示继续循环,False结束循环
  • 空格缩进同if

实例

九九乘法表

1
2
3
4
5
6
7
8
i = 1
while i <= 9:
j = 1
while j <= i:
print("%d * %d = %d\t" % (j,i,i*j),end = '')
j += 1
print()
i += 1

for循环

语法

for 临时变量 in 待处理数据集:

​ 循环满足条件时执行语句

注意:

  • 同while循环不同,python中for循环是无法定义循环条件的,只能从处理的数据集中依次取出内容进行处理,所有理论上for循环无法构建无限循环(被处理的数据集不可能无限大)
  • 语法中,待处理数据集严格来说称之为:序列类型,其内容可以一个个依次取出的一种类型,包括字符串,列表,元组等
  • 注意空格缩进

实例

遍历字符串

1
2
3
4
5
6
7
8
9
10
11
name = "hello"
for x in name:
print(x)

"""
h
e
l
l
o
"""

可以看出,for循环是将字符串的内容依次取出,所有for循环也被称为“遍历循环”

循环中断:break和continue

  • continue:中断本次循环,直接进入下一次循环
  • break:直接结束所在循环

while循环和for循环的一些区别

  • while循环的循环条件时自定义的,自行控制循环条件
  • for循环是一种“轮询”机制,是对一批内容进行“逐个处理”

拓展

随机数

1
2
3
import random
num = random.randint(1,10)
# 随机生成一个1到10的整数

end = ‘’

1
2
3
4
5
6
7
8
9
10
11
12
print("hello")
print("world")

print("hello",end='')
print("world")

"""
输出结果:
hello
world
helloworld
"""

制表符\t

1
2
3
4
5
6
7
8
9
10
11
12
print("hello world")
print("hihi Shenyang")
print("hello\tworld")
print("hihi\tShenyang")


"""
hello world
hihi Shenyang
hello world
hihi Shenyang
"""

range语句

语法1:

range(num)

获取一个从0开始,到num结束的数字序列(不含num本身)

如,range(5)取得的数据是:[0,1,2,3,4]

语法2:

range(num1,num2)

获取一个从num1开始,到num2结束的数字序列(不含num2本身)

如,range(5,10)取得的数据是:[5,6,7,8,9]

语法3:

range(num1,num2,step)

获取一个从num1开始,到num2结束的数字序列(不含num2本身)

数字之间的步长,以step为准(step默认为1)

如,range(5,10,2)取得的数据是:[5,7,9]

1
2
3
4
5
6
7
8
9
10
11
num = 100
count = 0
for x in range(1,num):
if x%2 == 0:
count += 1
print(f"从1到{num}(不含{num}本身)共有{count}个偶数")

"""
运行结果:
从1到100(不含100本身)共有49个偶数
"""
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2023-2024 LittleWin
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信