一、python条件判断语句
可以分为以下四种形式:
1、单独的if
举例:
num = 70
if num >= 60:
print('及格')
结果:
及格
2、if...else...
if 判断条件:
执行语句1
else:
执行语句2
举例:
num = 50
if num >= 60:
print('及格')
else:
print("不及格")
结果:
不及格
3、if...elif...else... 或者if...elif....
python 并不支持 switch 语句,所以当判断条件为多个值时,只能用 elif 来实现。
if 判断条件1:
执行语句1
elif 判断条件2:
执行语句2
elif 判断条件3:
执行语句3
elif......
或写成:
if 表达式1:
执行语句1
elif 表达式2:
执行语句2
elif 表达式3:
执行语句3
elif......
举例:
num = 89
if num >= 90:
print('优秀')
elif num >= 80:
print("不错")
elif num >= 60:
print("及格")
else:
print("不及格")
结果:
不错
需要多个条同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
举例1:根据年薪挑选女友。如果年薪在20万,属于C级别;如果年薪在50万,属于B级别;如果年薪在100万,属于A级别。
money = 70
if money >= 20 and money < 50:
print("您属于C级别")
elif money >= 50 and money < 100:
print("您属于B级别")
elif money >= 100:
print("您属于A级别")
结果:
您属于B级别
举例2:
num = 1
if (num >= 0 and num <= 6) or (num >= 10 and num <= 20):
print("这个数在0~6或10~20之间")
else:
print("这个数不在这个范围内")
结果:
这个数在0~6或10~20之间
4、if的嵌套
比如,每天外出坐地铁,首先进行第一轮的安检,如果安检通过了开始第二轮检查,看有没有买票,如果买票了才可以顺利坐上地铁。
举例:判断今天是什么日子,如果是工作日并且天气晴,就去公司上班,否则在家办公;如果是休息日,天气晴,就出去玩,否则在家打游戏。
day = "休息日"
weather = "晴"
if day == "工作日":
if weather == "晴":
print("去公司上班")
else:
print("在家办公")
if day == "休息日":
if weather == "晴":
print("出去玩")
else:
print("在家打游戏")
结果:
出去玩
综合:剪刀石头布小游戏
import random
player = int(input("请输入你要出的拳:(1剪刀,2石头,3布)"))
print("你出的拳为%d" % player) # 输出写法1
computer = random.randint(1, 3)
print("电脑出的拳为:", computer) # 输出写法2
if (player == 1 and computer == 3) \
or (player == 2 and computer == 1) \
or (player == 3 and computer == 2):
print("你赢")
elif player == computer:
print("平局")
else:
print("电脑赢")
结果:
请输入你要出的拳:(1剪刀,2石头,3布)1
你出的拳为1
电脑出的拳为3
你赢
注意:
(1)对于输入:input()函数来说,python3以后只有input(),用来接收任意类型的输入,并且将输入默认为字符串类型处理,返回字符串类型。而python2中有raw_input()和input()两种,其中,raw_input()将所有输入作为字符串看待,并且返回字符串类型,input()只用于数字的输入,返回所输入数字类型。
(2)input():默认返回的是字符串类型;而如果想要返回的是整数,用int()转换既可,如果想要返回的是浮点数用float()转换。
例如:我想要1,结果手误,输成了1.9怎么办?
a = float(input("请输入你要的数字")) #我想要1,结果却输成了1.9怎么办
b = int(a)
print("你想要的数字为%d" % b)
结果:
请输入你要的数字1.9
你想要的数字为1
(3)random.randint()函数————用来生成随机数
random.randint(参数1,参数2)
- 参数1、参数2必须是整数
- 函数返回参数1和参数2之间的任意整数, 闭区间,即:在给定范围内随机生成一个数。
(4)python输出的写法
第一种:如果输出只有一个变量:直接:print("结果为:",变量名)
例如:print("电脑出的拳为:",computer)
第二种:格式化输出
print("结果为%d:" % 变量名)
print("结果为%d,%s:" % ( 变量名1,变量名2))
print("结果为{},{}:" .format
或写成:
print(f"结果为{变名1}, {变量名2}:")
举例:
print("今年是%d" % 2022)
print("明年是{}".format(2023)) # .format不管有几个,后面都要打()
print("今天是4月%d号,星期%s" % (14, "四")) # 只有2个以上才打()
print("明天是4月{},星期{}".format(15, "五")) # 法1
print(f"明天是4月{15},星期{'五'}") # 法2
# !!如果里面赋值是字符串时候,一定要注意打的引号要跟外圈的引号不一样,例如‘五’,没用“ ”
结果:
今年是2022
明年是2023
今天是4月14号,星期四
明天是4月15,星期五
明天是4月15,星期五