条件判断语句(if语句)
语法1:
if 条件表达式: 语句
语法2:
if 条件表达式:
代码块
执行流程:
- if语句会先对条件表达式进行求值判断
- 如果是True则执行if后的语句或代码块
- 如果是False则不执行
默认情况下,if语句只会控制紧随其后的那条语句,如果希望if语句可以控制多条代码,则可以跟一个代码块
代码块:
- 代码块保存着一组代码,同一个代码块中的代码,要么都执行,要么都不执行。
- 代码块就是一种为代码分组的机制。
- 如果要编写代码块,语句后就不能紧跟代码了,而是要在下一行。
- 代码块以
缩进
开始,直到代码恢复到之前的缩进级别时结束。
缩进:
- 缩进有两种方式,
tab
、四个空格
- 官方推荐我们使用四个空格表示缩进
- 缩进必须统一
可以使用逻辑运算符来连接多个条件:
- 如果我们希望所有条件同时满足,我们可以使用 and
- 如果希望主要有一个条件满足即可,我们可以使用 or
用户输入(input)
该函数用来获取用户的输入
- input()函数调用后,程序会立即暂停,等待用户输入
- 用户输入完内容后,点击回车程序才会继续执行
- 用户输入完成后,其输入的内容将会以
str
的形式返回 - input()函数可以使用字符串作为参数,这个字符串会作为提示展示
print("Python程序开始")
# 遇到input会暂停程序等待输入,输入完成按下回车继续
user_input = input("输入你的名字:")
# 用户输入的内容将会以str的形式使用
print(type(user_input))
print(user_input)
print("Python程序结束")
在命令行输入一个用户名,获取用户输入,并进行判断
如果用户输入的用户名是 admin 则显示欢迎管理员
如果输入的是其他用户名 则显示 欢迎您的登录
username = input("输入你的用户名:")
if username == "admin":
print("欢迎管理员")
if username != "admin":
print("欢迎您的登录")
if-else语句
语法:
if 条件表达式:
代码块1
else:
代码块2
执行流程:
- if-else语句在执行的时候,先对条件表达式进行计算
- 如果是True则执行代码块1
- 如果是False则执行代码块2
if-elif-else 语句
语法:
if 条件表达式1:
代码块1
elif 条件表达式2:
代码块2
elif 条件表达式3:
代码块3
elif ....:
else:
代码块4
- 执行流程:
- 首先对 if 的条件进行判断 如果为 True 则执行代码块1 如果为 False 判断下一条 elif
- 如果所有的elif都是False那么走else。
# 将上边的需求修改为if-else语句
username = input("输入你的用户名:")
if username == "admin":
print("欢迎管理员")
else:
print("欢迎您的登录,您不是管理员")
练习2:编写一个程序,检查任意一个年份是否为闰年
闰年: 这个年份 可以被 4 整除 不能被 100 整除,或者可以被 400 整除,这个年份就是闰年
year = int(input("输入一个年份:"))
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print(f"{year}年是闰年")
else:
print(f"{year}年不是闰年")
练习3:
我家的狗已经5岁了,5岁的狗相当于多大年龄的人呢?
其实非常简单,狗的前两年每年相当于人嘞的10.5岁,然后每增加一年就增加四岁。
那么5岁的狗狗,相当于人类的年龄就应该是 10.5 + 10.5 + 4 + 4 + 4 = 33 岁
编写一个程序,获取用户输入的狗狗的年龄,然后通过程序显示其相当于人类的年龄。
如果用户输入数字不合法,请给一个提示分析:
接收用户输入的年龄
如果 年龄小于等于2 那么 1 岁等于 10.5岁
如果 年龄大于2 那么 1 岁等于 4 岁
如果 输入的数字是负数,那么给出提示
user_input_age = int(input("您家的狗狗多大了呢?"))
dog_age = 0
# 判断狗狗是否大于两岁
if user_input_age > 2:
# 首先减去两岁的年龄
user_input_age -= 2
# 再加上两岁的人类年龄
dog_age += 21
# 加上剩余的年龄
dog_age += user_input_age * 4
# 判断狗狗的年龄是否小于或等于两岁
elif 0 < user_input_age <= 2:
# 因为小于等于两岁,所以可以直接乘以 10.5
dog_age = user_input_age * 10.5
else:
print("你输入的年龄不合法")
if dog_age:
print(dog_age)
练习4:
从键盘输入小明的成绩:
- 当成绩为 100 时,输出 ‘奖励一辆BMW’
- 当成绩大于 100 时, 输出 ‘你来当老师吧’
- 当成绩为 [80-99] 时,输出 ‘奖励一台Iphone’
- 当成绩为 [60-79] 时,输出 ‘奖励一本参考书’
- 其他成绩,输出 ‘什么奖励都没有’
grade = int(input("你的成绩是多少?:"))
if grade == 100:
print("送你一辆宝马车")
elif grade > 100:
print("你来当老师吧")
elif 80 <= grade <= 99:
print("送你一台苹果手机")
elif 60 <= grade <= 79:
print("送你一本书")
else:
print("什么都给不了你")