Python中的条件判断语句

1.意义

在各种编程语言中,无论是C、C++、Java,C#,还是我们热爱的Python,条件判断语句都起到了至关重要的作用,使用条件判断语句让程序根据条件选择性的执行某条语句或者某些语句。能够使程序更加简洁易懂,同时也能够更好的完成我们想要完成的功能。下边举一个例子:

  • 有如下两条语句:
    如何只让其中一条语句执行并打印结果?

    print(“偶数”)
    print(“奇数”)
    

    如果不用调价判断语句的情况下,可以尝试一下,很难实现。但是利用条件判断语句的话,就容易的多了。实现代码如下,后续讲解其中原理。(注:该例只是简单地引入条件判断语句的概念,并不是健全的程序结构。后续博文会介绍异常处理语句,希望对大家能够有所帮助)

    a=int(input("请输入一个整数")    # 控制台接受用户输入的一个字符串,并将其转换成int型
    if a%2=1:
        print("奇数")
    elif a%2=0:
        print("偶数")
    else:
        print("输入有误")
    

1)语法:f语句包含两部分,判断部分和执行部分,只有在判断部分得到的布尔值为True时,才会执行执行部分否则转向下一行语句。具体语法如下:

if 真值表达式1:
    语句块1
elif 真值表达式2:
    语句块2
elif 真值表达式3:
    语句块3
...
elif 真值表达式n:
    语句块n
else:
    最终执行语句
注:一个完整的条件判断语句,if 语句只能够有一条,且必须是第一条,与elif、else 的顺序不能颠倒。else 只能有0个或1个,且必须放在if语句的最后。而elif 可以有0条或若干条,根据程序需求决定,例如上例,一条就够了。

2)if 语句的嵌套:

if语句本身是由多条句子组成的一条复合语句
if语句可以作为语句嵌套到另一个语句的内部

例如:

a = int(input("请输入一个整数"))
if a>0:
    if a<=100:
        print(a,"大于0小于等于100")
    elif 100<a<=1000:
        print(a,"大于100,小于等于1000")
    else:
        print(a,"大于1000")
elif a < 0:
    if a>=-100:
        print(a,"小于0大于等于-100")
    elif -100>a>=-1000:
        print(a,"小于于-100,大于等于-1000")
    else:
        print(a,"小于-1000")
else:
    print(,"等于0")

3)在Python中并没有例如C++中的switch语句,但是能够用switch语句处理的问题,用if语句同样能够处理。并且在Python中,利用字典就可以轻松实现与switch语句相同的功能,有兴趣的小伙伴可以结合所学到的字典函数的知识探索一下,下面给出一个小例子:

def switch(var):
    return {
        '1': '星期一',
        '2': '星期二',
        '3': '星期三',
        '4': '星期四',
        '5': '星期五',
        '6': '星期六',
        '7': '星期日',
    }.get(var, '输入错误')

2、条件表达式

相当于例如C++语言中的三目运算符

1) 语法:
表达式1 if 真值表达式2 else 表达式2

2) 作用:
根据真值表达式的取值(True/False)来决定执行表达式1 还是表达式2 并返回结果。如果真是表达式成立,即返回结果为True则返回表达式1,否则返回表达式2。

3) 示例:

money = int(input("请输入商品金额"))
pay = money - 20 if money>=100 else money
print("您需要支付",pay,"¥")
# 如果输入金额(money)大于等于100,则享受满100减20的优惠,否则不享受优惠,支付实际商品金额

3、练习

两种方法求绝对值:
1) if 语句实现

num = int(input("请输入一个数字:"))
if num>=0:
    print(num,"的绝对值是",num)
else:
    print(num,"的绝对值是",-num)    

2)条件表达式实现:

num= int(input("请输入一个数字:"))
abs_num = num if num>=0 else -num
print(num,"的绝对值是",abs_num)

猜你喜欢

转载自blog.csdn.net/E_I_D_/article/details/82156257