循环
python的两个原始的循环命令:while 循环和for 循环。
while 循环
while 循环:
条件为真,执行一组语句。
eg:(i>7,输出i)
i = 1
while i < 7:
print(i)
i += 1
注:需要有改变变量的式子,否则while循环成为死循环。
break语句:
停止循环的进行。
eg:(在i=5时退出循环)
i = 1
while i < 20:
print(i)
if i == 5:
break
i += 1
continue语句:
停止本次循环且进入下一次循环。
eg:(若i=5,进入下一轮循环)
i = 0
while i < 20:
i += 1
if i == 5:
continue
print(i)
else语句:
当条件不再成立时,可以运行一次代码块。
eg:(条件为假时)
i = 1
while i < 6:
print(i)
i += 1
else:
print("i is no longer less than 6")
for循环:
for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。通过使用 for 循环,可以为列表、元组、集合中的每个项目等执行一组语句。
eg:(打印 fruits 列表中的每种水果)
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
for 循环不需要预先设置索引变量。
循环遍历字符串:
eg:(循环遍历单词"banana")
for x in "banana":
print(x)
break语句:
在循环遍历所有项目之前停止循环。
eg:(若x 是 “banana”,退出循环)
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
eg:(当 x 为 “banana” 时退出循环,但在打印之前中断)
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
break
print(x)
continue语句:
停止本次循环且进入下一次循环。
eg:(不打印香蕉)
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue
print(x)
range() 函数:
指定循环一组代码的次数。
range() 函数
返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。
eg:
for x in range(10):
print(x)
range() 函数
默认 0 为起始值,不过可以通过添加参数来指定起始值:range(3, 10),这意味着值为 3 到 10(但不包括 10)。eg:
for x in range(3, 10):
print(x)
range() 函数
默认将序列递增 1,但是可以通过添加第三个参数来指定增量值:range(2, 30, 3)。eg:
for x in range(3, 50, 6):
print(x)
for循环中的else
指定循环结束时要执行的代码块。
eg:(打印 0 到 9 的所有数字,并在循环结束时打印一条消息)
for x in range(10):
print(x)
else:
print("Finally finished!")
嵌套循环:
嵌套循环是循环内的循环。“外循环”每迭代一次,“内循环”将执行一次。
eg:
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
pass语句:
for语句不能为空,若写了无内容的for语句,用pass语句避免错误。
eg:
for x in [0, 1, 2]:
pass
python函数:
函数是一种仅在调用时运行的代码块。
函数可以把数据作为结果返回。
创建函数:
def
关键字定义函数。
eg:
def my_function():
print("Hello from a function")
调用函数:
调用函数,使用函数名称后跟括号。
参数:
信息可以作为参数传递给函数。参数在函数名后的括号内指定。可以根据需要添加任意数量的参数,需要使用逗号分隔。
eg:(有一个带参数(fname)的函数。当调用此函数时,传递一个名字,在函数内部使用它来打印全名)
def my_function(fname):
print(fname + " Gates")
my_function("Rory John")
my_function("Jennifer Katharine")
my_function("Phoebe Adele")
默认参数值:
若调用了不带参数的函数,则使用默认值。eg:
def my_function(country = "China"):
print("I am from " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")
以list传参:
发送到函数的参数可以是任何数据类型(字符串、数字、列表、字典等),并且在函数内其将被视为相同数据类型。
例如,如果将 List 作为参数发送,它到达函数时仍将是 List(列表)。eg:
def my_function(food):
for x in food:
print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)
返回值:
如需使函数返回值,使用 return 语句
。
eg:
def my_function(x):
return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))
关键字参数:
使用 key = value 语法发送参数。参数的顺序无关紧要。eg:
def my_function(child3, child2, child1):
print("The youngest child is " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")
任意参数:
如果不知道将传递的函数多少个参数,则在函数定义的参数名称前添加 *。这样,函数将接收一个参数元组,并可以相应地访问各项。eg:
def my_function(*kids):
print("The youngest child is " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")
pass语句:
函数定义不能为空,若写了无内容的函数定义,用pass语句避免错误。eg:
def myfunction:
pass
递归:
定义的函数能够调用自身。
eg:
def tri_recursion(k):
if(k>0):
result = k+tri_recursion(k-1)
print(result)
else:
result = 0
return result
print("\n\nRecursion Example Results")
tri_recursion(6)