1. 条件语句
条件语句主要是 if、elif、else 三者之间的组合使用
1.1 if 语句
if True:
print("布尔表达式值为True")
布尔表达式值为True
1.2 if-else 语句
if False:
print("布尔表达式值为True")
else:
print("布尔表达式值为Fasle")
布尔表达式值为Fasle
1.3 if-elif-else 语句
a = 10
if a > 0 :
print("a为正数")
elif a == 0:
print("a值为0")
else:
print("a为负数")
a为正数
1.4 条件语句的嵌套
num = int(input("请输入一个0-5的数字:"))
if num >= 3:
if num == 3:
print("你输入的数字3")
elif num == 4:
print("你输入的数字是4")
else:
print("你输入的数字是5")
else:
if num == 2:
print("你输入的数字是2")
elif num == 1:
print("你输入的数字是1")
else:
print("你输入的数字是0")
请输入一个0-5的数字:0
你输入的数字是0
2. 循环语句
python 的循环语句主要包括: while 、 for 语句 Python 不支持
do〜while 语法、可以使用 while(无限循环)和 break 组合起来实现 do ~ while 语法
2.1 while 语句
# 输出0-10的所有数字:
num = 0
while num <= 10:
print(f'当前数字是:{num}')
num += 1
当前数字是:0
当前数字是:1
当前数字是:2
当前数字是:3
当前数字是:4
当前数字是:5
当前数字是:6
当前数字是:7
当前数字是:8
当前数字是:9
当前数字是:10
2.2 for 语句
# 输出0-10的所有数字:
for num in range(0,10):
print(f'当前数字是:{num}')
当前数字是:0
当前数字是:1
当前数字是:2
当前数字是:3
当前数字是:4
当前数字是:5
当前数字是:6
当前数字是:7
当前数字是:8
当前数字是:9
# 遍历元组
tup = (1,2,3,4,5)
for t in tup:
print(t)
1
2
3
4
5
#遍历列表
lis = ['a','b','c']
for c in lis:
print(c.upper())
A
B
C
# 遍历字典
dic = {'name':'小明', 'age':20, 'hooby':'篮球'}
for k , v in dic.items():
print(f'{k}:{v}')
name:小明
age:20
hooby:篮球
2.3 迭代工具
2.3.1 并行迭代
程序可以同时迭代两个序列,输入如下
low = ['a','b','c','d','e']
upp = ['A','B','C','D','E']
for i in range(len(low)):
print(f'小写:{low[i]} -- 大写:{upp[i]}')
小写:a -- 大写:A
小写:b -- 大写:B
小写:c -- 大写:C
小写:d -- 大写:D
小写:e -- 大写:E
2.3.2 zip 函数
在Python中,内建的zip函数用来进行并行迭代,可以把两个序列合并在一起,返回一个元组的列表。如下,程序执行结果和前面一样。
low = ['a','b','c','d','e']
upp = ['A','B','C','D','E']
for l, u in zip(low,upp):
print(f'小写:{l} -- 大写:{u}')
小写:a -- 大写:A
小写:b -- 大写:B
小写:c -- 大写:C
小写:d -- 大写:D
小写:e -- 大写:E
zip函数可以作用于任意数量的序列,并且可以应付不等长的序列,当短序列“用完”时就会停止。
for num1,num2 in zip(range(3),range(5)):
print(f'zip的键值对为:{num1}:{num2}')
zip的键值对为:0:0
zip的键值对为:1:1
zip的键值对为:2:2
2.4 跳出循环
2.4.1 break 语句
break语句用来终止循环语句,即使循环条件中没有False条件或序列还没有遍历完,也会停止执行循环语句。break语句用在while和for循环中。如果使用嵌套循环,break语句就会停止执行最深层的循环,并开始执行下一行代码。break语句的执行流程如下图所示。
letters = []
for letter in "I am a student, but you are a teacher.":
if letter == ',':
break
letters.append(letter)
print(letters)
['I', ' ', 'a', 'm', ' ', 'a', ' ', 's', 't', 'u', 'd', 'e', 'n', 't', ' ', 'b', 'u', 't', ' ', 'y', 'o', 'u', ' ', 'a', 'r', 'e', ' ', 'a', ' ', 't', 'e', 'a', 'c', 'h', 'e', 'r', '.']
2.4.2 continue语句
continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。continue语句用在while和for循环中。
letters = []
for letter in "I am a student, but you are a teacher.":
if letter == ',':
continue
letters.append(letter)
print(letters)
['I', ' ', 'a', 'm', ' ', 'a', ' ', 's', 't', 'u', 'd', 'e', 'n', 't', ' ', 'b', 'u', 't', ' ', 'y', 'o', 'u', ' ', 'a', 'r', 'e', ' ', 'a', ' ', 't', 'e', 'a', 'c', 'h', 'e', 'r', '.']
2.5 循环中else语句
2.5.1 while语句
num = int(input("请输入一个小于10的整数:"))
while num < 10:
print(f"{num}小于10")
num += 1
else:
print(f"{num} 不小于10")
print("循环结束")
请输入一个小于10的整数:4
4小于10
5小于10
6小于10
7小于10
8小于10
9小于10
10 不小于10
循环结束
2.5.2 for语句
names = ["小李","小黄"]
for name in names:
if name == "小":
print(f"名称:{name}")
break
print(f"循环名称列表{name}")
else:
print("没有循环数据!")
print("循环结束")
循环名称列表小李
循环名称列表小黄
没有循环数据!
循环结束
3. pass语句
Python中的pass是空语句,作用是保持程序结构的完整性。pass语句的语法格式如下:passpass不做任何事情,只是占位语句。
def f(a):
if a>=0:
pass
else:
print("a为负数")
f(10)
f(-1)
a为负数
4.猜数字游戏练习
随便给定一个在一定范围内的数字,让用户去猜这个数字是多少,并输入自己猜测的数字,系统判断是否为给定数字。如果输入的猜测数字大于给定值,提示你输入的值大了;如果输入的值小于给定值,就提示输入的值小了;如果等于给定值,就提示你猜对了,并展示总共猜了多少次。
import random
def GuessNumber(num):
count = 0
guess = int(input("请猜一个0-100的数:"))
while True:
if guess != num:
if guess > num:
print("猜的数大了")
else:
print("猜的数小了")
count += 1
guess = int(input("继续猜数:"))
else:
print(f"恭喜你在第{count}次猜对了.")
break
num = random.randint(0,100)
GuessNumber(num)
请猜一个0-100的数:50
猜的数大了
继续猜数:25
猜的数小了
继续猜数:30
猜的数小了
继续猜数:40
猜的数大了
继续猜数:35
猜的数小了
继续猜数:38
猜的数大了
继续猜数:36
恭喜你在第6次猜对了.