一、条件判断
1.1 if…else…语句
if…else… 字面意思就是 如果…否则…
num = 3
# 通过取模运算判断num是否能被2整除
if num % 2 == 0:
print(str(num) + "是一个偶数")
else:
print(str(num) + "是一个奇数")
注意两条print语句前面的缩进
1.2 elif
当你有三个及以上的判断条件的时候就很有必要使用elif来做多次判断
score = 59
if score < 60:
print("您的考试成绩不及格")
elif score <70 and score >=60:
print("您的考试成绩合格")
elif score < 90 and score >= 70
print("您的考试成绩良好")
else:
print("您的考试成绩优秀")
1.3 if 条件嵌套
嵌套循环可以嵌套无数层,但通常我们都建议尽量减少嵌套的层数,以增加代码的可读性。
score = 100
if score >= 60:
if score < 70:
print("您的考试成绩为合格")
elif score < 90:
print("您的考试成绩为良好")
else:
print("您的考试成绩为优秀")
else:
print("您的考试成绩不及格")
1.4 与逻辑运算符组合
if age > 18 and age < 60:
print("你已经不是个孩子啦,该去工作啦")
## 上下两中写法都可以
age = 22
if 18 < age < 60:
print("你已经不是个孩子啦,该去工作啦")
1.5 自动类型转换
if 和 elif 的后面总是跟着一个表达式,这个表达式的结果必须是True或者False,如果表达式运算出来的
结果不是一个布尔值,则会自动将结果转换为布尔值,无论它是什么类型的值。转换的结果遵循布尔转换规律。
count = 0
if count:
print("条件成立")
else:
print("条件不成立")
注意:count 为 0值、None 和空字符串转换为布尔值后都是False
二、循环控制
2.1 while循环语句
lap = 0
while lap < 10:
lap += 1
print("我跑完了第" + str(lap + 1) + "圈")
2.2 for循环语句
for循环可以用来遍历序列,序列指的是一个可迭代的有序的集合,比如字符串就是一个序列
seq = "hello"
for s in seq:
print(s)
我们可以修改一下之前写的跑圈的while循环,改用for循环加range函数来实现:
for lap in range(10):
print("我跑完了第" + str(lap + 1) + "圈")
2.3 嵌套循环
嵌套循环:顾名思义就是循环里面再循环
##在控制台中打印出指定边长的长方形或者正方形图案
# 指定长方形的宽和高
width, height = 10, 5
# 因为是从上往下开始打印,所以先遍历高度
for i in range(height):
for j in range(width):
print("*", end="")
print()
打印出这样一个九九乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print("%s*%s=%s" % (j, i, i * j), end=" ")
print()
2.4 break和continue
有时候在循环内部,我们需要临时略过某一次循环或者干脆跳出整个循环,这时候就需要用到break和 continue。
使用for循环和continue来打印出10以内的所有奇数相加的式子,并求出它们 的和
total = 0
for i in range(10):
if i % 2 == 0:
continue
print(i, end=" + ")
total += i
print(" = %s" % total)
## 1 + 3 + 5 + 7 + 9 + = 25
关键字break用来打断整个循环并跳出
给一个字符串,这个字符串是一个小数,要求打印出小数的整数部分
s = "238.9237834829"
for i in s:
if i == '.':
print()
break
print(i, end='')
三、智能密码锁程序
最近几年很流行的智能密码锁程序,除了可以用指纹开锁、人脸识别开锁外,都会有密码开锁的功能,以防万一。密码开锁功能是这样的,首先设定好密码,以后每次开锁的时候只要输入的数字中含有设定 的密码,就视为解锁成功。这样的设定是为了防止别人的窥探,具有更高的安全性。
首先,由于涉及到了输入,先来了解一下Python内置的输入函数: input
password = input("请设置您的密码")
在执行到这行代码时,控制台就变成光标闪烁的状态,用户可以用键盘进行字符的输入,输入完成后,再输入一个回车表示输入结束,输入的字符串赋给等号左边的变量。
# 设置初始密码
password = "123"
while True:
pwd = input("请输入您想要设置的密码:")
# 如果没有输入任何密码,则使用初始密码作为密码
if not pwd:
break
confirm_password = input("请再次输入您的密码:")
if pwd == confirm_password:
password = pwd
break
else:
print("您两次输入的密码不一致,请重新输入。")
print("您的初始密码已设置为:" + password)
print("进入开锁程序。。。")
# 开锁
while True:
input_pwd = input("请输入您的密码:")
# 判断输入的密码中是否包含密码
if password in input_pwd:
print("开锁成功!")
break
else:
print("您输入的密码有误,请重新输入")