day3 - python逻辑运算符、if -elif -else 、与或非
1 if - else
条件检查
学习在Python中使用条件语句来检查各项条件,并告诉计算机在每种情况下该做什么。 例如:
if <这个条件是真的>:
<然后执行这一行代码>
num = int(input("随意输入一个整数,猜系统数的大小?\n"))
num1 = 10
if num == num1 :
print(f"系统数:{num1}")
elif num > num1 :
print("大于系统数")
else :
print("小于系统数")
如果条件是假的呢?
else关键词被用来定义一块如果在if语句中检查的条件是假的情况下将执行的代码。
if 猪能飞:
<永远不会执行的代码>
else:
print("这是现实") ### Python的缩进
理解缩进在Python中的重要性,作为使某些代码行成为其他代码行下级的一种方式。
例如:
if 5 > 2: #这是一个父代码行
print("yes") #这是一个子代码行
比较运算符
-
大于
- < 小于
-
= 大于或等于
- <= 小于或等于
- == 等于
- != 不等于
num1 = 10
while True:
try:
num = int(input("随意输入一个整数,猜系统数的大小?\n"))
if num == num1:
print(f"恭喜你!猜对了,系统数是:{num1}")
break # 退出循环,因为用户猜对了
elif num > num1:
print("大于系统数")
else: # 这里假设只有三种情况:等于、大于或小于
print("小于系统数")
except ValueError:
print("错误输入,请输入一个有效的整数。")
print("游戏结束。")
2 取余运算
模数运算符给你的是一次除法的余数。
6 % 2 #结果为 0
6 % 5 #结果为 1
6 % 4 #结果为 2
num1 = 6 % 2
num2 = 6 % 5
num3 = 6 % 4
print(num1)
print(num2)
print(num3)
暂停 1 - 10 % 3 是多少?
你认为这会输出什么?
print(10 % 3)
num4 = 1 - 10 % 3
num5 = 10 % 3
print(num4)
print(num5)
暂停 2 - 检查奇数或偶数
使用你对 Python 中的模数运算符和条件检查所学到的知识编写一些代码,检查输入区域的数字是奇数还是偶数。 如果是奇数就输出 "Odd",否则输出 "Even"。
# 检查奇数或偶数
integer = int(input("请输入一个整数?\n"))
num = 2
if integer % num == 0:
print("Even")
else:
print("Odd")
3 嵌套if 和elif
你可以将 if/else 语句放置在其他 if/else 语句中。这被称为嵌套。 例如:
if maths_score >= 90:
if english_score >= 90:
print("你擅长所有学科")
else:
print("你擅长数学")
if english_score >= 90:
print("你擅长英语")
在这种情况下,只有当一名学生数学和英语成绩都超过90时,他们才会被评价为 "你擅长所有学科"。
注意:你也可以有不配对 else 语句的 if 语句。
mathematics = int(input("数学成绩多少 \n"))
english = int(input("英语成绩多少 \n"))
if mathematics >= 90:
if english >= 90:
print("成绩都很好!")
else:
print("数学成绩很好")
else:
if english >= 90:
print("英语成绩很好")
else:
print("还需继续努力")
4 多if
您可以编写尽可能多的 if 语句来检查彼此无关的不同条件。 比较下面的代码块:
# If/elif/else
if <条件 1 为真>
<执行 A>
elif <条件 2 为真>
<执行 B>
else
<执行 C>
# 嵌套 if 语句
if <条件 1 为真>
<执行 A>
if <条件 2 为真>
<执行 B>
if <条件 3 为真>
<执行 C>
# 多个 if 语句
if <条件 1 为真>
<执行 A>
if <条件 2 为真>
<执行 B>
if <条件 3 为真>
<执行 C>
在 if/elif/else 块中,只有 A、B 或 C 的其中一个可以发生,因为 if/elif/else 是互斥的。第一个条件必须失败,才能进入 elif,而 elif(或多个 elif)也必须失败才能进入 else。 只有当条件 1 为假时,才检查条件 2。
在嵌套的 if 语句中,A、B 和 C 都可以发生,但是条件 1、2 和 3 都必须为真。只有在条件 1 为真的情况下,计算机才会检查条件 2。
在多个 if 语句中, A、B、和 C 都可以发生。但是他们彼此完全独立。即使 A 和 B 不发生,C 也可以发生。每个条件都会被检查,无论其他结果如何
# material = input("输入你丢掉的斧头材质(金银铜)?\n")
material1 = "金"
material2 = "银"
material3 = "铜"
if material == material1:
print("这是你的金斧头。")
elif material == material2:
print("这是你的银斧头。")
elif material == material3:
print("这是你的铜斧头。")
else:
print("可能是木制斧头")
# 多个嵌套if,在嵌套的 if 语句中,A、B 和 C 都可以发生,但是条件 1、2 和 3
# 都必须为真。只有在条件 1 为真的情况下,计算机才会检查条件 2。
mat = input("输入你丢掉的斧头材质?\n")
mat1 = "金"
mat2 = "木"
mat3 = "是"
if mat == mat1:
mat4 = input("输入你丢掉的斧柄材质?\n")
if mat4 == mat2:
mat5 = input("输入你丢掉的是否开刃?\n")
if mat5 == mat3:
print("这是你的金制木柄开刃斧头。")
else:
print("不是你的斧头!")
# 多个并行if,在多个 if 语句中, A、B、和 C 都可以发生。但是他们彼此完全独立。
# 即使 A 和 B 不发生,C 也可以发生。每个条件都会被检查,无论其他结果如何。
mat = input("输入你丢掉的斧头材质?\n")
mat1 = "金"
mat2 = "木"
mat3 = "是"
if mat == mat1:
print("斧头材质可能你的斧头!")
else:
print("不是你的斧头!")
mat4 = input("输入你丢掉的斧柄材质?\n")
if mat4 == mat2:
print("斧柄材质可能你的斧头!")
else:
print("不是你的斧头!")
mat5 = input("输入你丢掉的是否开刃?\n")
if mat5 == mat3:
print("开刃可能是你的斧头。")
else:
print("不是你的斧头!")
5 练习-披萨店
恭喜,你在Python Pizza获得了一份工作!你的第一项任务是建立一个自动披萨订单程序。
根据用户的订单,计算他们的最终账单。使用input()函数收集用户的喜好,然后加上他们的订单总额,告诉他们需要支付多少钱。
小披萨 (S):$15
中披萨 (M):$20
大披萨 (L):$25
为小披萨添加意大利辣香肠(Y 或 N):+$2
为中或大披萨添加意大利辣香肠 (Y 或 N):+$3
为任何尺寸的披萨添加额外的奶酪 (Y 或 N):+$1
示例交互
欢迎来到Python披萨配送!
你想要什么尺寸的披萨?S,M或L:L
你想在你的披萨上加意大利辣香肠吗?Y 或 N:Y
你想要额外的奶酪吗?Y 或 N:N
你的最终账单是:$28.
print("欢迎来到Python披萨配送!\n")
dimension = input("你想要什么尺寸的披萨?S,M或L\n")
sausage = input("你想在你的披萨上加意大利辣香肠吗?Y 或 N\n")
cheese = input("你想要额外的奶酪吗?Y 或 N\n")
amount = 0.00
dimensions = 15.00
dimensionm = 20.00
dimensionl = 25.00
sausages = 2.00
sausageml = 3.00
cheeses = 1.00
if dimension == "S":
amount += sausage
elif dimension == "M":
amount += dimensionm
elif dimension == "L":
amount += dimensionl
if sausage == "Y" and dimension == "S":
amount += sausages
elif sausage == "Y" and (dimension == "M" or dimension == "L"):
amount += sausageml
if cheese == "Y":
amount += cheeses
print(amount)
6 逻辑运算符
您可以使用逻辑运算符结合不同的条件。
A 和 B #两个条件都需要为真
C 或 D #只要一个条件为真即可
非 E #条件必须为假
暂停 1 - 45至55岁的修改器
更新代码,使45至55岁(两龄限均包含在内)的人可以免费乘车。 使用逻辑运算符检查年龄是否大于45,并且也小于55。
注意:简化的警告只是一个建议。您可以考虑并选择它,或者您可以忽略它。在这节课中,我想向您展示与,或和非这几个逻辑运算符。因此,我建议保留原始代码,以便您回顾这节课时复习。
# 1 - 45至55岁的修改器. 与、或、非
age = int(input("请录入乘车人的年龄 ? \n"))
if age >= 45 and age <= 55:
print("免费!")
elif age >= 55 or age <= 5:
print("免费 + 坐老幼座位!")
elif not (age >= 45 or age <= 5):
print("收钱, 做普通座位!")
7 练习, 海拉鲁大陆大陆
你今天的目标是创建一个"选择你自己的冒险游戏"。 使用你今天在课程中所学的知识,你将构建这种文本游戏的一个非常简单的版本。来创建游戏逻辑。
一旦你完成了这个项目,你总是可以扩展游戏,使其更有趣!
from django.template.defaultfilters import lower
print(r'''
*******************************************************************************
| | | |
_________|________________.=""_;=.______________|_____________________|_______
| | ,-"_,="" `"=.| |
|___________________|__"=._o`"-._ `"=.______________|___________________
| `"=._o`"=._ _`"=._ |
_________|_____________________:=._o "=._."_.-="'"=.__________________|_______
| | __.--" , ; `"=._o." ,-"""-._ ". |
|___________________|_._" ,. .` ` `` , `"-._"-._ ". '__|___________________
| |o`"=._` , "` `; .". , "-._"-._; ; |
_________|___________| ;`-.o`"=._; ." ` '`."\ ` . "-._ /_______________|_______
| | |o ; `"-.o`"=._`` '` " ,__.--o; |
|___________________|_| ; (#) `-.o `"=.`_.--"_o.-; ;___|___________________
____/______/______/___|o;._ " `".o|o_.--" ;o;____/______/______/____
/______/______/______/_"=._o--._ ; | ; ; ;/______/______/______/_
____/______/______/______/__"=._o--._ ;o|o; _._;o;____/______/______/____
/______/______/______/______/____"=._o._; | ;_.--"o.--"_/______/______/______/_
____/______/______/______/______/_____"=.o|o_.--""___/______/______/______/____
/______/______/______/______/______/______/______/______/______/______/_____ /
*******************************************************************************
''')
# 左或右?
# - 右或其它:掉进洞里。游戏结束。
# - 左:游泳或等待?
#
# 游泳或等待?
# - 游泳或其它:被鳟鱼攻击。游戏结束。
# - 等待:选择哪扇门?
#
# 哪扇门?
# - 红色:被火烧。游戏结束。
# - 蓝色:被野兽吃掉。游戏结束。
# - 黄色:你赢了!
# - 其它:游戏结束。
print("欢迎来到海拉鲁大陆.")
print("你的任务是找到宝藏救出公主.")
first = lower(input("首先进入游戏,请问往“left”还是往“right”走 ?\n"))
if first == "left" or not first == "right":
print("掉进洞里, 游戏结束")
elif first == "right":
two = input("“游泳”还是“等待”?\n")
if two == "游泳" or not two == "等待":
print("游泳或其它:被鳟鱼攻击。游戏结束。")
elif two == "等待":
door = input("选择哪扇门,红、蓝、黄、其他 ?\n")
if door == "红":
print("被火烧。游戏结束。")
elif door == "蓝":
print("被野兽吃掉。游戏结束。")
elif door == "黄":
print("你赢了, 获得财宝并救出公主!!!")
else:
print("其它:游戏结束。")