概述
if
语句是几乎所有编程语言中都有的,且用法几乎都差不多的一种语句。常用的用法如下:
-
单分支:只有条件为真的时候才执行代码,不为真的时候不执行代码。 -
双分支:条件为真的时候执行某段逻辑,不为真的时候执行另一段逻辑。 -
多分支:满足不同条件的时候执行不同的逻辑,条件都不满足,可以执行某个逻辑,也可以不执行。
在Python中,使用if
实现单分支,使用if-else
实现双分支,使用if-elif-else
实现多分支。
示例:if语句的基本用法
if False:
print('条件成立执行的代码1')
print('条件成立执行的代码2')
# 注意:在这个下方的没有加缩进的代码,不属于if语句块,即和条件成立与否无关
print('这个代码执行吗?')
if语句
if语句的基本语法如下:
主逻辑的代码
if 判断条件:
判断条件结果为真执行代码
主逻辑的代码
注意,if语句只会影响自己的代码块。所谓代码块就是冒号:
后面带四个空格的缩进的那部分代码。if语句不会影响到主逻辑的代码执行。
示例:小明的年龄是20岁,国家规定年满18岁可以上网,未满18岁不可以上网。写程序判断小明是否可以上网。
age = 20
if age >= 18:
print('已经成年,可以上网')
练习:录入用户的年龄,并判断该年龄是否可以上网。
age = int(input('请输入您的年龄:'))
if age >= 18:
print(f'您输入的年龄是{age}, 已经成年,可以上网')
练习:使用变量存储一个用户名和一个密码,然后让用户输入用户名和密码。比较用户名和密码,如果都正确,则提示登录成功,否则提示用户名或密码不成功。
username = "zhangdapeng"
password = "zdp123456"
# 录入
user_username = input("请输入用户名:")
user_password = input("请输入密码:")
# 比较
if username == user_username and password == user_password:
print("登录成功")
print("跳转到首页")
else:
print("用户名或密码错误")
输出结果:
请输入用户名:zhang
请输入密码:dapeng
用户名或密码错误
if-else语句
if-else
语句的基础语法如下:
主逻辑代码
if 条件:
条件满足执行的代码
else:
条件不满足执行的代码
主逻辑代码
if
语句如果条件不满足,没有代码会被执行。if-else
语句,无论条件是否满足,始终有一段代码会被执行。
示例:根据年龄优化判断是否可以上网。
age = int(input('请输入您的年龄:'))
if age >= 18:
print(f'您输入的年龄是{age}, 已经成年,可以上网')
else:
print(f'您输入的年龄是{age},小朋友,回家写作业去')
if-elif-else语句
Python中没有switch
语句,多分支语句只有if-elif-else
语句这一种。基本语法如下:
if xxx:
...
elif xxx:
...
...
else:
...
示例:录入用户的年龄。如果年龄小于18,为童工,不合法;如果年龄18-60岁之间,为合法工作年龄;如果年龄大于60为退休年龄。判断用户录入的年龄属于哪个年龄段。
age = int(input('请输入您的年龄:'))
# 童工
if age < 18:
print(f'您输入的年龄是{age}, 童工')
# 18-60 合法
elif (age >= 18) and (age <= 60):
print(f'您输入的年龄是{age}, 合法')
# 大于60 退休
elif age > 60:
print(f'您输入的年龄是{age}, 退休年龄')
示例:if后面的条件可以优化。
age = int(input('请输入您的年龄:'))
# 童工
if age < 18:
print(f'您输入的年龄是{age}, 童工')
# 18-60 合法
elif 18 <= age <= 60:
print(f'您输入的年龄是{age}, 合法')
# 大于60 退休
elif age > 60:
print(f'您输入的年龄是{age}, 退休年龄')
练习:用户录入一个月份,判断该月份是那个季节并在控制台输出。
month = int(input("请输入月份:"))
if month in [12, 1, 2]:
print(f"{month}月是冬天")
elif month in [3, 4, 5]:
print(f"{month}月是春天")
elif month in [3, 4, 5]:
print(f"{month}月是春天")
elif month in [6, 7, 8]:
print(f"{month}月是夏天")
elif month in [9, 10, 11]:
print(f"{month}月是秋天")
else:
print("错误的月份")
输出结果:
请输入月份:1
1月是冬天
练习:满分是100分,大于或等于90分算优秀,大于或等于80分算良好,大于或等于60分算及格,其他分数算不及格。录入用户的成绩,判断并输出属于级别。
score = int(input("请输入分数:"))
if score < 0 or score > 100:
print("错误的分数")
elif score < 60:
print("不及格")
elif score < 80:
print("及格")
elif score < 90:
print("良好")
else:
print("优秀")
输出结果:
请输入分数:99
优秀
if嵌套
if语句可以无限嵌套,即就是在满足一个条件的情况,可以继续判断是否满足另一个条件。
示例:坐公交车,有钱可以坐公交车,没有不可以。上公交车以后,有空座可以坐下,没有则不可以。编写程序,判断小明坐公交车,是否可以坐下。
money = 0
seat = 1
if money == 1:
print('土豪,请上车')
# 判断是否能坐下
if seat == 1:
print('有空座,坐下了')
else:
print('没有空座,站着等....')
else:
print('朋友,没带钱,跟着跑,跑快点')
猜拳游戏
猜拳游戏就是石头,剪刀,布
游戏。两个人分别出拳,石头赢剪刀,剪刀赢布,布赢石头。编写程序,电脑随机出拳,让用户也出拳,判断胜负并输出结果。
示例代码:
import random
# 1. 出拳
# 玩家
player = int(input('请出拳:0--石头;1--剪刀;2--布:'))
# 电脑
computer = random.randint(0, 2)
# 2. 判断输赢
# 玩家获胜
if ((player == 0) and (computer == 1)) or ((player == 1) and (computer == 2)) or ((player == 2) and (computer == 0)):
print('玩家获胜,哈哈哈哈')
# 平局
elif player == computer:
print('平局,别走,再来一局')
else:
print('电脑获胜')
三目运算符
三目运算符是一种特殊的if
语句,是将if-else
在一行显示的语句,通常用于条件赋值。
语法:
变量 = 条件满足的值 if 条件 else 条件不满足的值
示例:求两个数的最大值。
a = 1
b = 2
c = a if a > b else b
print(c)
示例:从控制台录入四个整数,求这四个整数的最大值并输出。
a = int(input("a = "))
b = int(input("b = "))
c = int(input("c = "))
d = int(input("d = "))
# 求最大值
max_num1 = a if a > b else b
max_num2 = c if c > d else d
max_num = max_num1 if max_num1 > max_num2 else max_num2
# 输出
print(f"{a}, {b}, {c}, {d} 中的最大值是:{max_num}")
输出结果:
a = 11
b = -22
c = 33
d = -44
11, -22, 33, -44 中的最大值是:33
用户注册案例
网站通常需要设计用户注册的功能。用户注册的功能一般流程如下:
-
1、用户输入要注册的用户名,密码,确认密码 -
2、校验用户输入的参数是否正确,比如都不能为空,密码和确认密码要相同 -
3、判断数据库中是否已存在该用户(使用字典代替数据库) -
4、保存用户信息 -
5、提示用户注册成功
请编写程序,使用目前掌握的知识,实现一个基础版本的用户注册案例。
示例代码:
# 用字典代替数据库
users = {}
# 录入数据
username = input("请输入用户名:")
password = input("请输入密码:")
re_password = input("请确认密码:")
# 校验
if username == "":
print("用户名不能为空")
else:
if password == "":
print("密码不能为空")
else:
if password != re_password:
print("两次密码不一致")
else:
# 判断是否存在
if users.get(username):
print("该用户已存在")
else:
# 保存
users[username] = password
# 提示
print("用户注册成功")
输出结果:
请输入用户名:zhangdapeng
请输入密码:zdp123
请确认密码:zdp123
用户注册成功
原文始发于微信公众号(张大鹏520):Python基础语法04 if语句
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/48663.html