注意:
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)