Python03——逻辑判断
一、数据输入(input语句)
在Python中,数据输出:print,数据输入:input
使用input()语句可以从键盘获取输入
例如:
print("what's your name")
name = input()
print("your name is " f"{name}")
二、布尔类型
进行判断,只有2个结果:是(True)、否(False)
1.python中常用的有6种值(数据)的类型:
例如:
result = 10 > 5
print(f"10>5的结果是:{result},类型是{type(result)}")
2.比较运算符:
例如:
#比较运算符的使用
num1 = 10
num2 = 10
print(f"10 == 10 的结果是{num1 == num2}")
print(f"10 == 15 的结果是{num1 == 15}")
三、if语句的基本格式
判断语句的结果,必须是布尔类型True或False,True会执行if内的代码语句,False则不会执行
例如:
print("你几岁了")
age = input()
print("我 %s 岁了" %age)
if(int(age) >= 18):print("我已经成年了")
练习:
通过input语句,获取键盘输入,为变量age赋值。(注意转换成数字类型),通过if判断是否是成年人,满足条件则输出提示信息,如下:
欢迎来到儿童游乐场,儿童免费,成人收费
请输入你的年龄:30
您已成年,游玩需要补票10元。
祝您游玩愉快。
print("请输入你的年龄:")
age = input()
print(age)
if int(age) >= 18:print("您已成年,游玩需要补票10元")
print("祝您游玩愉快")
四、if else语句
注意:else后,不需要判断条件,和if的代码块一样,else的代码块同样需要4个空格作为缩进
例如:
print("请输入你的年龄:")
age = input()
print(age)
if int(age) >= 18:print("您已成年,游玩需要补票10元")
else:print("您未成年,可以免费游玩")
print("祝您游玩愉快")
练习:
通过input语句获取键盘输入的身高,判断身高是否超过120cm,并通过print给出提示信息。
欢迎来到动物园。
请输入你的身高(cm):
130
您的身高超出120cm,游玩需要补票10元
祝您游玩愉快。
or
欢迎来到动物园
请输入你的身高(cm):
111
您的身高未超出120cm,可以免费游玩。
祝您游玩愉快。
print("请输入你的身高:")
height = input()
if int(height) >= 120:print("您的身高超出120cm,游玩需要补票10元")
else:print("您的身高未超出120cm,可以免费游玩。")
print("祝您游玩愉快")
五、if elif else语句
注意:elif语句可以写多个
注意:判断是互斥且有顺序的。满足1(如图编号)将不会理会2和3;满足2,将不会理会3;1、2、3均不满足,进入else,else也可以省略不写,效果等同3个独立的if判断
空格缩进同样不可省略
print("请输入你的身高:")
height = input()
print("请输入你的vip级别:")
vip = input()
if int(height) <= 120:print("您的身高未超出120cm,可以免费游玩")
elif int(vip) > 3:print("您的vip级别大于3,可以免费游玩")
else:print("您的身高超出120cm,游玩需要补票10元")
print("祝您游玩愉快")
练习:猜数字
1.定义一个变量,数字类型,内容随意
2.基于input语句输入猜想的数字,通过if和多次elif的组合,判断猜想数字是否和心里数字一致
请输入第一次猜想的数字:1
不对,再猜一次:2
不对,再猜最后一次:3
全部猜错啦,我想的是:10
num = 10
if int(input("请猜一个数字:")) == num:print("恭喜你,猜对了")
elif int(input("猜错了,再猜一次:")) == num:print("恭喜你,猜对了")
elif int(input("猜错了,再猜一次:")) == num:print("恭喜你,猜对了")
print("机会用完啦,数字是10")
六、判断语句的嵌套
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if
嵌套的关键点,在于空格缩进,通过空格缩进,来决定语句之间的层次关系
例如:
print("欢迎来到动物园")
if int(input("请输入你的身高:")) > 120:print("你的身高大于120cm,需要补票")print("但是如果你的VIP等级大于3,就可以免费游玩")if int(input("请输入你的VIP等级:")) > 3:print("好的,你可以免费游玩")else:print("不好意思,你需要补票")
else:print("欢迎你小朋友,你可以免费游玩")
练习:
公司要发礼物,条件是:1.必须是大于等于18岁小于30岁的成年人 2.同时入职时间需满足大于两年,或者级别大于3才可领取
age = int(input("请输入你的年龄:"))
if age >= 18 and age <= 30:print("好的,你的年龄符合")if int(input("请输入您的入职时间:")) > 2:print("好的,请领取你的礼物")elif int(input("你的入职时间未满两年,请输入你的级别:")) > 3:print("好的,请领取你的礼物")
else:print("抱歉,你的年龄不符合")
七、实战案例
定义一个数字(1~10,随机产生),通过3次判断来猜出来数字
要求:
1.数字随机产生,范围1-10
2.有3次机会猜测数字,通过3层嵌套判断实现
3.每次猜不中,会提示大了或小了
提示:通过如下代码,可以定义一个变量num,变量内存储随机数字。
import random
num = random.randint(1,10)
import random
num = random.randint(1,10)guess_num = int(input("请猜一个1-10之间的数字:"))if guess_num == num:print("恭喜,猜中了")
else:if guess_num > num:print("大了")else:print("小了")guess_num = int(input("再次输入你要猜测的数字:"))if guess_num == num:print("恭喜,猜中了")else:if guess_num > num:print("大了")else:print("小了")guess_num = int(input("再次输入你要猜测的数字:"))if guess_num == num:print("猜中了")else:print(f"猜错了,是{num}")