注意:
condition后面有冒号:
换行之后的代码要对齐。
条件判断 if
在Python中,if
语句用于基于某个条件(或一系列条件)来执行代码块。如果条件为真(True
),则执行 if
语句下的代码块;如果条件为假(False
),则跳过该代码块。
if
语句的基本语法如下:
if condition: | |
# 执行这里的代码块,如果 condition 为 True | |
pass # pass 是一个占位符,表示这里什么也不做 |
你可以使用 elif
(相当于 "else if")和 else
来添加更多的条件分支:
if condition1: | |
# 执行这里的代码块,如果 condition1 为 True | |
pass | |
elif condition2: | |
# 执行这里的代码块,如果 condition1 为 False 且 condition2 为 True | |
pass | |
else: | |
# 执行这里的代码块,如果 condition1 和 condition2 都为 False | |
pass |
下面是一个具体的例子,演示了如何使用 if
、elif
和 else
:
x = 10 | |
if x < 0: | |
print("x 是负数") | |
elif x == 0: | |
print("x 是零") | |
else: | |
print("x 是正数") |
在这个例子中,变量 x
的值为 10,因此会执行 else
分支,并输出 "x 是正数"。
比较运算符和逻辑运算符
你还可以使用比较运算符(如 ==
、!=
、<
、<=
、>
、>=
)和逻辑运算符(如 and
、or
、not
)来构建复杂的条件表达式。
例如:
age = 15 | |
is_student = True | |
if age >= 18 and is_student: | |
print("你是一个成年学生") | |
elif age < 18 and is_student: | |
print("你是一个未成年学生") | |
else: | |
print("你的年龄或学生身份信息不明确") |
在这个例子中,我们根据年龄和学生身份来输出不同的信息。由于 age
是 15(小于 18),且 is_student
是 True
,所以会执行第二个 elif
分支,并输出 "你是一个未成年学生"。
while循环
在Python中,while
循环用于重复执行一段代码块,直到指定的条件不再满足为止。只要条件为真(True
),循环就会继续执行;一旦条件变为假(False
),循环就会停止。
while
循环的基本语法如下:
while condition: | |
# 执行这里的代码块,只要 condition 为 True | |
pass # pass 是一个占位符,表示这里什么也不做 |
下面是一个简单的例子,演示了如何使用while
循环来打印从1到5的数字:
count = 1 | |
while count <= 5: | |
print(count) | |
count += 1 # 增加计数器的值,否则循环将无限进行下去 |
在这个例子中,count
变量初始化为1,然后while
循环检查count
是否小于或等于5。如果是,就打印count
的值,并将count
增加1。这个过程会一直重复,直到count
的值大于5,此时while
循环的条件不再满足,循环结束。
需要注意的是,在while
循环内部,你必须确保循环条件最终会变为假,否则循环将无限进行下去,这通常被称为“死循环”。在上述例子中,我们通过每次迭代增加count
的值来确保循环最终会停止。
break和continue
你还可以结合break
语句在循环内部提前退出循环,或者在循环体外部使用continue
语句跳过当前迭代并立即开始下一次迭代。
例如,使用break
提前退出循环:
count = 1 | |
while True: # 使用 True 作为条件创建无限循环 | |
if count > 5: | |
break # 当 count 大于 5 时退出循环 | |
print(count) | |
count += 1 |
在这个例子中,虽然循环条件始终为True
(因此本应是无限循环),但if
语句和break
语句的组合允许我们在count
大于5时退出循环。
使用continue
跳过当前迭代:
for i in range(10): | |
if i % 2 == 0: # 如果 i 是偶数 | |
continue # 跳过当前迭代,不执行下面的代码 | |
print(i) # 只打印奇数,因为偶数时跳过了打印语句 |
在这个例子中,continue
语句使得当i
是偶数时,跳过打印操作,只打印出奇数。
for循环:
for
循环用于遍历序列(如列表、元组、字符串、字典等)或其他可迭代对象中的元素。对于序列中的每一个元素,for
循环都会执行一次循环体中的代码块。
for
循环的基本语法如下:
python复制代码
for variable in iterable: | |
# 执行这里的代码块,对 iterable 中的每个元素进行迭代 | |
pass # pass 是一个占位符,表示这里什么也不做 |
其中,variable
是在每次迭代中临时使用的变量名,它会在每次循环时获取iterable
(可迭代对象)中的下一个元素。iterable
可以是一个列表、元组、字符串、字典、集合或任何实现了迭代协议的对象。
for item in ['mosh', 'john', 'sarah']:
print(item)
for item in range(10):
print(item)
#计算总和
prices = [10,20,30]
total = 0
for price in prices:
total += price
print(f"total:", total)
fruits = ['apple', 'banana', 'cherry'] | |
for fruit in fruits: | |
print(fruit) |
对于字典,你可以遍历键、值或键值对:
person = {'name': 'Alice', 'age': 30, 'city': 'New York'} | |
# 遍历键 | |
for key in person: | |
print(key) | |
# 遍历值 | |
for value in person.values(): | |
print(value) | |
# 遍历键值对 | |
for key, value in person.items(): | |
print(key, value) |
你还可以使用range()
函数来生成一个数字序列,并遍历这个序列:
for i in range(5): | |
print(i) |
在这个例子中,range(5)
生成了一个包含数字0到4(共5个数字)的序列,然后for
循环遍历了这个序列,并将每个数字打印出来。
嵌套循环:
for x in range(4):
for y in range(3):
print(x,y)
numbers = [5,2,5,2,2]
for x in numbers:
output = ''
for y in range(x):
output += 'x'
print(output)