04 . Python入门之条件语句
If条件语句
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))
```~~~~