04 . Python入门之条件语句

时间:2022-07-25
本文章向大家介绍04 . Python入门之条件语句,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、 Python条件语句

Python条件语句是通过一条或多条语句执行结果(True或False)来决定执行的代码块. 可以通过下图简单了解语句的执行过程

Python程序语言指定任何非0和非空(null)值为true,0或者null为false.

if 判断条件:
    执行语句……
else:
    执行语句……

其中"判断条件"成立时(非0),则执行后面的语句,而执行内容可以多行,以缩进来区分同一范围,else为可选语句,当需要条件不成立时执行内容则可以执行相关语句

Example1

flag = False
name = 'luren'
if name == 'python':
    flag = True
    print('welcome boss')
else:
    print(name)

# 上面实例输出结果为
luren

IF语句的判断条件可以用>,<,==,>=,<=来表示其关系. 当判断条件为多个值时,可以使用以下方式

if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……

Example2

num = 5     
if num == 3:            # 判断num的值
    print ('boss')
elif num == 2:
    print ('user')
elif num == 1:
    print ('worker')
elif num < 0:           # 值小于零时输出
    print ('error')
else:
    print ('roadman')     # 条件均不成立时输出

# 上面实例运行结果如下
roadman

由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

二、if语句多个条件

num = 9
if num >= 0 and num <= 10:    # 判断值是否在0~10之间
    print ('hello')
# 输出结果: hello
 
num = 10
if num < 0 or num > 10:    # 判断值是否在小于0或大于10
    print ('hello')
else:
    print ('undefine')
# 输出结果: undefine
 
num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    
    print ('hello')
else:
    print ('undefine')
# 输出结果: undefine

当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

if 嵌套

if 表达式1:
    语句
    if 表达式2:
        语句
    elif 表达式3:
        语句
    else:
        语句
elif 表达式4:
    语句
else:
    语句

# Example3
num=int(input("输入一个数字:"))
if num%2==0:
    if num%3==0:
        print("你输入的数字可以整除2和3")
    else:
        print("你输入的数字可以整除2,但不能整除3")
else:
    if num%3==0:
        print("你输入的数字可以整除3,但不能整除2")
    else:
        print("你输入的数字不能整除2和3")

输入一个数字:15
你输入的数字可以整除3,但不能整除2

简单的语句组

var = 100
if ( var == 100):
    print("变量var的值为100,Good bye!")

Example4,狗的年龄计算判断

age = int(input("请输入你家狗狗的年龄:"))
print("")
if age <= 0:
    print("狗狗还没出生")
elif age == 1:
    print("相当于14岁的人")
elif age == 2:
    print("相当于22岁的人")
elif age > 2:
    human = 22 + (age -2)*5
    print("对应人类年龄:",human)
### 退出提示
input("点击enter键退出"

Example5,登录案例

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import getpass

username = input('请输入用户名: ')
password = input('请输入密码: ')
#假如不显示密码
#password = getpass.getpass('请输入密码: ')

if username == 'admin' and password == 'admin':
    print('登录成功!')
else:
    print('登录失败!')

Example6 猜数字

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import random

answer = random.randint(1, 100)
counter = 0

while True:
    counter += 1
    number = int(input('请输入一个数字: '))
    if number < answer:
        print('小了')
    elif number > answer:
        print('大了')
    else:
        print('恭喜你猜对了!')
        break

print('你总共猜了%d次' % counter)
if counter > 7:
    print('建议你回去再念一遍小学吧~')

Example7 计算月收入实际到手收入

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

"""
输入月收入和五险一金计算个人所得税
"""

salary = float(input('本月收入: '))
insurance = float(input('五险一金: '))
diff = salary - insurance - 3500

if diff <= 0:
    rate = 0
    deduction = 0
elif diff < 1500:
    rate = 0.03
    deduction = 0
elif diff < 4500:
    rate = 0.1
    deduction = 105
elif diff < 9000:
    rate = 0.2
    deduction = 555
elif diff < 35000:
    rate = 0.25
    deduction = 1005
elif diff < 55000:
    rate = 0.3
    deduction = 2755
elif diff < 80000:
    rate = 0.35
    deduction = 5505
else:
    rate = 0.45
    deduction = 13505
tax = abs(diff * rate - deduction)

print('个人所得税: ¥%s元' % tax)
print('实际到手收入: ¥%.2f元' % (salary - insurance - tax))