3 if 语句

if 语句

  • 条件语句作⽤
  • if 语法
  • if…else…
  • 多重判断
  • if 嵌套

所谓得 if 语句其实就是用于判断,比如某件事情在有多个结果和处理方式的时候我们就需要通过 if 或者 if-else 来做判断并且得到最终程序想要的执行结果

其实这⾥所谓的判断就是条件语句,即条件成⽴执⾏某些代码,条件不成⽴则不执⾏这些代码

1 if 语法

if 判断条件:
 条件成⽴执⾏的代码1
 条件成⽴执⾏的代码2
 ......

# 在 python 中的 if 需要通过缩进来控制下面语句的缩进来实现该条件语句是否在该 if 中

1.1 快速体验

True 验证:

"""
if 判断条件:
    条件成立之后执行的代码1
    .....
"""
if True:
    print('条件成立之后执行的代码1')
    print('条件成立之后执行的代码2')

print('这段代码没有在 if 中所以他并不是 if 语句块里面的')

输出:

root@go:~/py# /bin/python3 /root/py/test.py
条件成立之后执行的代码1
条件成立之后执行的代码2
这段代码没有在 if 中所以他并不是 if 语句块里面的

False 验证:

"""
if 判断条件:
    条件成立之后执行的代码1
    .....
"""
if False:
    print('条件成立之后执行的代码1')
    print('条件成立之后执行的代码2')

    print('这段代码没有在 if 中所以他并不是 if 语句块里面的')

输出:

可以看到这里并没有执行第三个 print 中的语句,也就是说 py 中在 if 的缩进下的语句块都属于 if 语句中

False 验证:

这里我验证如果我将第三个 print 去掉缩进看看是否还不会执行

"""
if 判断条件:
    条件成立之后执行的代码1
    .....
"""
if False:
    print('条件成立之后执行的代码1')
    print('条件成立之后执行的代码2')

# 注意:下方没有加缩进的代码,不属于 if 语句块,即和条件成立与否无关
print('这段代码没有在 if 中所以他并不是 if 语句块里面的')

输出:

# 可以看到这里已经执行了第三个 print 的内容
root@go:~/py# /bin/python3 /root/py/test.py
这段代码没有在 if 中所以他并不是 if 语句块里面的

2 if-else

作用:条件成立执行 if 下方的语句,条件不成立执行 else 下方的代码

需求分析:如果⽤户年龄⼤于等于18岁,即成年,输出"已经成年,可以上⽹",如果不成年呢?是不是应该回复⽤户不能上⽹?

if 条件:
 条件成⽴执⾏的代码1
 条件成⽴执⾏的代码2
 ......
else:
 条件不成⽴执⾏的代码1
 条件不成⽴执⾏的代码2
 ......
# 通过 input 接收用户输入的数据,并转为 int 类型
age = int(input("输入您的年龄:"))

if age >= 18:
    print(f"您输入的年龄是{age},已成年可以上网!")
else:
    print(f"您输入的年龄是{age},未成年不能上网!")

print("系统已关闭!")

输出:

root@go:~/py# /bin/python3 /root/py/test.py
输入您的年龄:19
您输入的年龄是19,已成年可以上网!
root@go:~/py# /bin/python3 /root/py/test.py
输入您的年龄:12
您输入的年龄是12,未成年不能上网!

注意:如果某些条件成⽴执⾏了相关的代码,那么其他的情况的代码解释器根本不会执⾏,而是执行条件成立之后带缩进的那个代码

3 多重判断

思考:中国合法⼯作年龄为18-60岁,即如果年龄⼩于18的情况为童⼯,不合法;如果年龄在18-60岁之间为合法⼯龄;⼤于60岁为法定退休年龄。

3.1 语法

# 通过 input 接收用户输入的数据,并转为 int 类型
age = int(input("输入您的年龄:"))

if age >= 18 :
    print(f"您输入的年龄是{age},合法工龄。")
elif age <= 60:
    print(f"您输入的年龄是{age},合法工龄。")
else:
    print(f"您输入的年龄是{age},不是合法工龄。")

print("系统已关闭!")

输出:

root@go:~/py# /bin/python3 /root/py/test.py
输入您的年龄:12
您输入的年龄是12,合法工龄。
系统已关闭!
root@go:~/py# /bin/python3 /root/py/test.py
输入您的年龄:60
您输入的年龄是60,合法工龄。
系统已关闭!

简写:

上面的代码中只是为了演示 elif 多重判断,其实可以在以条 if 语句中做完即可,只需添加 and 逻辑预算符即可

# 通过 input 接收用户输入的数据,并转为 int 类型
age = int(input("输入您的年龄:"))

if age >= 18 and age <= 60:
    print(f"您输入的年龄是{age},合法工龄。")
else :
    print(f"您输入的年龄是{age},不是合法工龄")

print("系统已关闭!")

输出:

root@go:~/py# /bin/python3 /root/py/test.py
输入您的年龄:19
您输入的年龄是19,合法工龄。
系统已关闭!
root@go:~/py# /bin/python3 /root/py/test.py
输入您的年龄:17
您输入的年龄是17,不是合法工龄
系统已关闭!

拓展: age >= 18 and age <= 60 可以化简为 18 <= age <= 60 。

4 if 嵌套

思考:坐公交:如果有钱可以上⻋,没钱不能上⻋;上⻋后如果有空座,则可以坐下;如果没空座,就要站着。怎么书写程序?

4.1 语法

if 条件1:
    条件1成⽴执⾏的代码
    条件1成⽴执⾏的代码

    if 条件2:
        条件2成⽴执⾏的代码
        条件2成⽴执⾏的代码

注意:条件2的if也是出于条件1的缩进关系内部。

'''
1.有钱可以上车
    money = 1 表示有钱
2.上车之后不见得有座位
    seat = 1 表示有座位
'''

money = int(input("输入金钱 1/0 (1表示车费,0表示没有钱):"))
seat = 1

if money == 1 :
    print("有钱可以上车。")
    if seat == 1:
        print("有座位!")
    elif seat == 0:
        print("没有座位!")
else :
    print("没有钱无法上车!")

print("程序完成!")

输出:

root@go:~/py# /bin/python3 /root/py/test.py
输入金钱 1/0 (1表示车费,0表示没有钱):1
有钱可以上车。
有座位!
程序完成!
root@go:~/py# /bin/python3 /root/py/test.py
输入金钱 1/0 (1表示车费,0表示没有钱):0
没有钱无法上车!
程序完成!

4.2 if 嵌套执⾏流程

5 应⽤:猜拳游戏

需求分析:

  • 参与游戏的⻆⾊

    • 玩家

    • ⼿动出拳

    • 电脑

    • 随机出拳

  • 判断输赢

    • 玩家获胜

    • 平局

    • 玩家出拳 和 电脑出拳相同

    • 电脑获胜

随机做法:

  1. 导出random模块

    import 模块名
  2. 使⽤random模块中的随机整数功能

    random.randint(开始,结束)
    # 包含开始和结束位置这两个数字

代码:

"""
步骤:
    1.导入模块
    import random
    2.

提示:0-⽯头,1-剪⼑,2-布

1. 出拳
玩家输⼊出拳
电脑随机出拳

2. 判断输赢
玩家获胜
平局
电脑获
"""

import random

# 玩家出拳
player = int(input('请出拳:0-⽯头,1-剪⼑,2-布:'))

# random.randint(0,2) 随机 0-2 这三个数
computer = random.randint(0,2)
print(computer)

# 玩家获胜
if ((player == 0) and (computer == 1)) or ((player == 1) and (computer == 2)) or ((player == 2) and (computer == 0)):
    print("玩家获胜")
elif (computer == player):
    print("平局")
else:
    print("电脑胜")

执行:

root@go:~/py# /bin/python3 /root/py/test.py
0
请出拳:0-⽯头,1-剪⼑,2-布:2
玩家获胜
root@go:~/py# /bin/python3 /root/py/test.py
请出拳:0-⽯头,1-剪⼑,2-布:3
0
电脑胜
root@go:~/py# /bin/python3 /root/py/test.py
请出拳:0-⽯头,1-剪⼑,2-布:2
0
玩家获胜
root@go:~/py# /bin/python3 /root/py/test.py
请出拳:0-⽯头,1-剪⼑,2-布:2
2
平局

6 三⽬运算符

三⽬运算符也叫三元运算符或三元表达式。

语法如下:

条件成⽴执⾏的表达式 if 条件 else 条件不成⽴执⾏的表达式

快速体验:

a = 1 
b = 2 

c = a if a > b else b
print(c)

7 总结

if语句语法

if 条件:
 条件成⽴执⾏的代码

if…else…

if 条件:
 条件成⽴执⾏的代码
else:
 条件不成⽴执⾏的代码

多重判断

if 条件1:
 条件1成⽴执⾏的代码
elif 条件2:
 条件2成⽴执⾏的代码
else:
 以上条件都不成⽴执⾏的代码

if嵌套

if 条件1:
 条件1成⽴执⾏的代码
 if 条件2:
 条件2成⽴执⾏的代码
 ....

三⽬运算符

条件成⽴执⾏的表达式 if 条件 else 条件不成⽴执⾏的表达式
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇