Python基础语法04 if语句

概述

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 >= 18and (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 [1212]:
    print(f"{month}月是冬天")
elif month in [345]:
    print(f"{month}月是春天")
elif month in [345]:
    print(f"{month}月是春天")
elif month in [678]:
    print(f"{month}月是夏天")
elif month in [91011]:
    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(02)

# 2. 判断输赢
# 玩家获胜
if ((player == 0and (computer == 1)) or ((player == 1and (computer == 2)) or ((player == 2and (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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!