条件判断if
让计算机像人一样,能判断是非对错,根据条件做一些事情。
if
代码语言:javascript复制'''
------ if代码结构:-------
if 条件:
代码体
tips:同一缩进范围内的代码被视作同一代码体,python官方推荐python缩进一次为4个空格
'''
is_happy = True
if is_happy:
print("Nice to meet you!")
# Nice to meet you!
if else
代码语言:javascript复制 1 '''
2 ------ if代码结构:-------
3 if 条件:
4 代码体
5 else:
6 代码体
7
8 tips:当不满足if 的条件时就会执行到else ,运行else 中的代码
9
10 '''
11 is_happy = False
12 if is_happy:
13 print("Nice to meet you!")
14 else:
15 print("Today is a bad day!")
16 # Today is a bad day!
if elif else
代码语言:javascript复制 1 '''
2 ------ if代码结构:-------
3 if 条件:
4 代码体
5 elif 条件:
6 代码体
7 else:
8 代码体
9
10 tips:当不满足if 的条件时就会执行到下一个elif....如果接着的都不满足,那最后执行到else
11
12 '''
13 math_score = 99
14 if math_score >= 90:
15 print("优秀")
16 elif math_score >= 80:
17 print("良好")
18 elif math_score >= 60:
19 print("一般")
20 else:
21 print("很遗憾,未及格!")
22 # 优秀
if 嵌套
代码语言:javascript复制# if可以多级嵌套,注意缩进
math_score = 99
if math_score >= 90:
if math_score > 100:
print("您的输入有误,请输入正确的分数(0~100)!")
else:
print("优秀")
循环
使用循环来替代重复往返的动作
while循环
while
代码语言:javascript复制'''
while 条件:
代码体
tips:不要忘了 条件后面的 :
代码体需要缩进4个空格
'''
i = 1
while i < 4:
print(i)
i = 1
# 1
# 2
# 3
死循环
代码语言:javascript复制# 死循环,使CPU 一直处于运算状态
i = 1
while True:
i = 1
# 虽然也是 while True 但因其要等待用户输入信息才进入下一轮循环,并非死循环
while True:
input("请输入信息")
while else
代码语言:javascript复制 1 # ---------------对于while else 结构:--------------------
2 # 当while 循环正常循环(执行)完毕没有遇到break 后会进入else 中
3
4 i = 1
5 while i < 4:
6 if i == 2:
7 i = 1
8 continue
9 print(i)
10 i = 1
11 else:
12 print("while 循环正常执行结束,没有遇到break 提前退出")
13
14 # 1
15 # 3
16 # while 循环正常执行结束,没有遇到break 提前退出
17
18 # 遇到break 退出循环,则不会进入到else 中
19 i = 1
20 while i < 4:
21 if i == 2:
22 i = 1
23 break
24 print(i)
25 i = 1
26 else:
27 print("while 循环正常执行结束,没有遇到break 提前退出")
28 # 1
break:退出本层循环
continue:结束本次循环,直接进入下一次循环
代码语言:javascript复制 1 i = 1
2 while i < 6:
3 if i == 3:
4 i = 1
5 break
6 print(i)
7 i = 1
8 print(i)
9 # 1
10 # 2
11 # 4
12 # 执行到i == 3的if 语句时就退出了整个循环, 后面的i 只到了4 (i == 3 的时候执行了if i == 3 中的 i = 1)
13
14 i = 1
15 while i < 6:
16 if i == 3:
17 i = 1
18 continue
19 print(i)
20 i = 1
21 print(i)
22 # 1
23 # 2
24 # 4
25 # 5
26 # 6
27 # 执行到i == 3的if 语句时就退出了本次循环,直接重新进入到了 while i < 6 这里开始下一次循环
for循环
for
代码语言:javascript复制'''
------for代码结构:-------
for 条件:
代码体
tips: for的末尾要写 :
不要漏了代码体的缩进(4各个空格)
'''
for i in range(1, 4):
print(i)
# 1
# 2
# 3
range()函数
代码语言:javascript复制'''
------- range()函数 ---------
python 2.x: range() xrange()
调用range()函数会生成一个列表
调用xrange()函数会生成一个迭代器对象,只有在使用的时候才会取出里面的对象
python 3.x: range()
同python 2.x 中的 xrange()函数
'''
break、continue: 与while 循环中一致
for else:当for 循环正常执行结束没有遇到break 时会进入 else
代码语言:javascript复制# ---------------对于for else 结构:--------------------
# 当for 循环正常循环(执行)完毕没有遇到break 后会进入else 中
for i in range(1, 4):
if i == 2:
continue
print(i)
else:
print("for 循环正常执行结束,没有遇到break 提前退出")
# 1
# 3
# for 循环正常执行结束,没有遇到break 提前退出
# 遇到break 退出循环,则不会进入到else 中
for i in range(1, 4):
if i == 2:
break
print(i)
else:
print("for 循环正常执行结束,没有遇到break 提前退出")
# 1
多重循环(循环嵌套)
代码语言:javascript复制 1 # 退出双层循环的while循环嵌套
2 user_db = 'abc'
3 pwd_db = '123'
4 flag = True
5 while flag:
6 inp_user = input('username>>>: ')
7 inp_pwd = input('password>>>: ')
8 if inp_user == user_db and pwd_db == inp_pwd:
9 print('login successful')
10 while flag:
11 cmd = input('请输入你需要的命令:')
12 if cmd == 'q':
13 flag = False
14 break
15 print('%s功能执行'%cmd)
16 else:
17 print('username or password error, please input again!')
18 print('退出了while循环')
技巧:定义标志位 flag 跳出多重循环
小案例
九九乘法表
代码语言:javascript复制for i in range(1, 10):
for j in range(1, i 1):
print("%d * %d = -t" %(i, j, i*j), end='')
print()
# 1 * 1 = 1
# 2 * 1 = 2 2 * 2 = 4
# 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
# 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
# 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
# 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
# 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
# 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
# 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
打印指定层数金字塔
代码语言:javascript复制num = int(input("输入层数 >>>:"))
level = 0
for level in range(1, num 1):
for i in range(num - level):
print(" ", end='')
for j in range(2 * level - 1):
print("*", end='')
print()
# 输入5
# *
# ***
# *****
# *******
# *********