当涉及编程的条件语句时,我们可以使用条件语句来根据特定条件执行不同的代码块。条件语句是编程中的重要工具,帮助我们根据不同情况采取不同的行动。
在Python中,我们使用if、elif和else关键字来构建条件语句。通过判断条件的真假,程序将根据不同的情况执行相应的代码块。条件语句的灵活性使得我们能够处理各种情况。我们可以使用比较运算符(如==、>、<等)和逻辑运算符(如and、or、not等)来构建复杂的条件判断。
在这篇博客中,我们将探索条件语句的基本概念和用法。我们将从简单的条件判断开始,逐渐引入更复杂的条件判断,并提供实际的代码示例和解释。
1. 单个条件的判断
首先,我们可以使用
if
语句来判断一个条件是否为真,如果为真,则执行相应的代码块。如果条件为假,则跳过该代码块。age = 20 if age >= 18: print("你已经成年了!")
#如果改成 age = 17,则判断条件为假,直接跳过
age = 17 if age >= 18: print("你已经成年了!")
在这个例子中,我们定义了一个变量
age
,并将其赋值为20。然后,我们使用if
语句判断age
是否大于或等于18。如果是,将输出"你已经成年了!"。否则,将跳过输出语句。
2. 条件与分支
除了单个条件的判断,我们还可以使用
if-else
语句来进行两个分支的判断。当条件为真时执行一个代码块,当条件为假时执行另一个代码块。age = input() age = int (age) if age >=18: print("You're an adult now") else: print("You're not an adult")
在这个例子中,我们判断
age
是否大于或等于18。如果是,输出"你已经成年了!";否则,输出"你还没成年!"。
3. 多个条件的判断
如果有多个条件需要判断,我们可以使用if-elif-else语句。elif是else if的缩写,可以用于判断多个条件。
score = input() score = int(score) if score >= 90: print ("very good!") elif score >=80 and score < 90 : print ("not bad") else: print('not so good!')
在这个例子中,我们根据分数的不同范围打印不同的评语。首先判断分数是否大于或等于90,如果是,则输出"very good!";否则,继续判断是否大于或等于80,如果是,则输出"not bad!";依此类推。如果都不满足,则输出"not so good!"。
在Python中,你可以省略elif语句中的条件 ,并且根据上一个if或elif语句的条件来划分区间。这是因为elif语句会在之前的条件为假的情况下执行,并且没有给定具体的条件。
score = 85 if score >= 90: print("very good") elif score >= 80: print("not bad")
在这个例子中,如果分数大于等于90,则输出"very good!";如果分数大于等于80(因为已经排除了分数大于等于90的情况),则输出"not bad!"。 就不需要条件: elif score >=80 and score <90:
这种方式能够根据分数范围进行自动划分,使代码更简洁和易读。
4. 嵌套条件语句
可以在条件语句中嵌套其他条件语句,以处理更多的情况,这能够构建更复杂的逻辑。
score = 85 if score >= 90: print("非常好!(90-100)") else: if score >= 80: print("还不错!(80-89)") else: print("加油!(低于80)")
score = 79 if score >= 90: print("非常好!(90-100)") else: if score >= 80: print("还不错!(80-89)") else: print("加油!(低于80)")
在这个例子中,首先判断分数是否大于等于90。如果是,输出"非常好!(90-100)"。否则,进入else语句块,并在其中再次进行条件判断。如果分数大于等于80,则输出"还不错!(80-89)"。否则,输出"加油!(低于80)"。
5.复合条件
你可以使用逻辑运算符(如and、or、not)组合多个条件,以实现更复杂的判断逻辑。
age = 25 score = 85 if age >= 18 and score >= 80: print("成年且分数不错!") else: print("条件不满足!")
在这个例子中,我们使用了逻辑运算符and来同时判断年龄是否大于等于18且分数是否大于等于80。只有当两个条件都满足时,输出"成年且分数不错!"。否则,输出"条件不满足!"。
6.`in`
运算符
可以使用in运算符判断一个值是否存在于一个集合(如列表、元组、字符串等)中。
name = "Alice" if name in ["Alice", "Bob"]: print("欢迎,Alice或Bob!") else: print("你不是Alice或Bob!")
在这个例子中,我们判断name是否在列表["Alice", "Bob"]中。如果存在,输出"欢迎,Alice或Bob!"。否则,输出"你不是Alice或Bob!"。
结合以上的我做了一个综合的学生年龄、分数表:
# 定义学生类
class Student:
pass
# 创建学生实例
student1 = Student()
student1.name = "Alice"
student1.age = 18
student1.score = 85
student2 = Student()
student2.name = "Bob"
student2.age = 20
student2.score = 92
student3 = Student()
student3.name = "Charlie"
student3.age = 19
student3.score = 78
# 对每个学生进行条件判断
if student1.age >= 18 and student1.score >= 80:
print(student1.name, "成年且分数不错!")
else:
print(student1.name, "条件不满足!")
if student2.age >= 18 and student2.score >= 80:
print(student2.name, "成年且分数不错!")
else:
print(student2.name, "条件不满足!")
if student3.age >= 18 and student3.score >= 80:
print(student3.name, "成年且分数不错!")
else:
print(student3.name, "条件不满足!")
在这个示例中,我们先定义了一个空的Student类(使用pass语句)。然后,我们逐个创建学生实例,并为每个实例设置name、age和score属性。最后,我们对每个学生进行条件判断,输出相应的结果。
在Python中,pass是一个空语句,用于表示一个代码块为空,没有任何操作。它通常用作占位符,用于在语法上需要语句的位置,但实际上不需要执行任何操作的情况下。
pass的主要作用是使代码能够通过语法检查,但没有任何实际的操作。
再稍作修改:
class student:
pass
students = [
student(),
student(),
student()
]
students[0].name= "XNY"
students[0].age = 18
students[0].score = 85
students[1].name= "WT"
students[1].age = 20
students[1].score = 60
students[2].name= "SHL"
students[2].age = 17
students[2].score = 70
for student in students:
if student.age >= 18:
print(student.name,'成年啦!')
if student.score >=80:
print ("且成绩还不错!")
else:
print('但不咋滴')
else:
print(student.name,'未成年哦!')
在这个示例中,我们先定义了一个空的Student类(使用pass语句)。然后,我们逐个创建学生实例,并为每个实例设置name、age和score属性。最后,我们对每个学生进行条件判断,输出相应的结果。
但是得出的结果是分两行的,看着不舒服,为了解决这个问题,我引用到了 ' end = ',代码如下:
class student:
pass
students = [
student(),
student(),
student()
]
students[0].name= "XNY"
students[0].age = 18
students[0].score = 85
students[1].name= "WT"
students[1].age = 20
students[1].score = 60
students[2].name= "SHL"
students[2].age = 17
students[2].score = 70
for student in students:
if student.age >= 18:
print(student.name,'成年啦!',end='')
if student.score >=80:
print ("且成绩还不错!")
else:
print('但不咋滴')
else:
print(student.name,'未成年哦!')
其实就是在第一个if(最外层if)中加一个"end=' '"
在Python的print()函数中,end是一个可选参数,用于指定输出结束时要追加的字符串,默认为换行符 \n。通过修改end参数的值,你可以控制print()函数在输出结束时追加的字符串。
当你将end参数设置为空字符串 '' 时,意味着在输出结束时不追加任何字符,即不换行输出。这样可以使得多个print()函数输出的内容在同一行显示,而不是每个print()函数输出的内容占用一行
在上面的代码示例中,我使用print(student.name, '成年啦!', end=' ')来指定在输出结束时不换行,并在输出后不追加任何字符串。这样可以实现你期望的输出效果。
如果你想恢复默认行为,即在输出结束时换行,可以不传递end参数或者将其设置为默认值 '\n'。
条件判断语句是编程中至关重要的概念,它们使我们能够根据不同的条件采取不同的行动。通过条件判断,我们可以控制程序的流程和逻辑,使其具备灵活性和智能性。
在学习条件判断语句时,我们了解了以下核心概念和用法:
-
单个条件判断:使用
if
语句来检查单个条件。当条件满足时,执行相应的代码块;否则,跳过该代码块。 -
多个条件判断:通过
if
、elif
和else
语句来处理多个条件和多个代码分支。条件按顺序逐个检查,只有第一个满足条件的代码块会被执行,然后整个条件语句终止。 -
嵌套条件判断:在一个条件语句中嵌套另一个条件语句,以处理更复杂的情况。这种嵌套结构使我们能够根据不同的条件组合执行不同的代码块。
-
比较运算符和逻辑运算符:通过使用比较运算符(如
==
、>
、<
等)和逻辑运算符(如and
、or
、not
等),我们可以构建更复杂的条件判断,以满足不同的逻辑需求。
条件判断语句为我们提供了一种有力的工具来处理不同的情况,并根据条件的真假采取不同的行动。通过理解和掌握条件判断语句,我们可以编写出更灵活、智能的程序。
希望这个总结能够帮助你回顾条件判断语句的核心概念和用法。如果你有任何问题或需要进一步的解释,请随时提问。祝你在编程的道路上取得更多的成功!