在循环中使用continue:
要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,它不像break语句那样不再执行余下的代码并退出整个循环。
c_1=0
while c_1<10:
c_1+=1
if c_1%2==0:
continue
print(c_1)
输出:
1
3
5
7
9
首先将c_1设置成0,由于它小于10,python进入while循环。进入循环后,我们以步长1的方式往上数,因此c_1为1.接下来,if语句检查c_1与2的求模运算结果。如果结果为0,就执行continue语句,让python忽略余下代码,并返回到循环开头。如果当前的数字不能被2整除,就执行余下代码。
在列表之间移动元素:
可以使用while循环,之所以不推荐使用for循环,是因为python难以追踪其中的元素。利用pop()函数将一个列表中的元素删除,然后再添加到另一个列表中。
#首先创建一个待验证的用户列表和一个用于存储已验证的空列表
unconfirmed_users=['alice','brian','candace']
confirmed_users=[]
#利用pop()函数将unconfirmed_users末尾处的值删除,并添加到confirmed_users处
while unconfirmed_users:
current_user=unconfirmed_users.pop()
print("Verifying user:" + current_user.title())
confirmed_users.append(current_user)
#显示confirmed_users所有的数值
print('\nThe follwing users have been confirmed:')
for confirmed_user in confirmed_users:
print(confirmed_user.title())
输出:
Verifying user:Candace
Verifying user:Brian
Verifying user:Alice
The follwing users have been confirmed:
Candace
Brian
Alice
pop()括号里的参数填索引号,按索引号把列表中对应的元素删除,并返回该元素的值。括号里参数不填的话默认把列表中最后一个元素删除,并返回该元素的值。
remove()括号里不能为空。
括号里参数填所要删除的元素,按所填元素对列表中的元素进行检索,若找到某个元素和参数相等,则将该元素删除,不返回元素的值(返回none),若没找到,则抛出异常。
使用用户输入来填充字典:
responses={}
polling_active=True
while polling_active:
name=input('\nWhat is you name?')
response=input('Which mountain would you like to climb someday?')
responses[name]=response
repeat=input(' Would you like to let another person respond?(yes/no)')
if repeat=='no':
polling_active=False
print('\n---Poll Results---')
for name,response in responses.items():
print(name + 'would like to climb
输出:
What is you name?long
Which mountain would you like to climb someday?huashan
Would you like to let another person respond?(yes/no)yes
What is you name?wang
Which mountain would you like to climb someday?taishan
Would you like to let another person respond?(yes/no)no
---Poll Results---
longwould like to climb huashan .
wangwould like to climb taishan.
定义一个函数:
def greet_user():
"""显示简单的问候语"""
print('hello")
greet_user()
定义一个简单地函数,首先用关键字def来告诉python你要定义一个函数。向python指出函数名,还能在括号内指出函数为完成其任务需要什么样的信息。最后以冒号结尾。函数体由冒号后面的所有的缩进行构成函数体。文档字符用三引号括起来,python使用他们来生成有关程序中函数的文档。
函数中的传递实参:
1.关键字实参:
关键字实参是以键值对的方式传递给函数,函数名(形参1=实参1,形参2=实参2)。以此向函数传递实参时不会混淆、关键字实参可以无需考虑函数调用中各个值的用途。
def describe_pet(animal_type,pet_name):
"""显示宠物信息"""
print('\ni have a' + animal_type+'.')
print('My '+animal_type+"'s name is "+pet_name.title()+".")
describe_pet(animal_type='hamster',pet_name="harry")
输出:
i have ahamster.
My hamster's name is Harry.
2.位置实参:
由于函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。函数传递实参的方式有很多种,如位置实参、关键字实参。
调用函数时,python必须将函数调用中的每一个实参都关联导火索定义中的一个形参。为此,最简单的关联方式是基于实参的顺序。这种关联方式称为位置实参。
python中*和**的用法:
1.用作运算符,“*”表示乘号,“**”表示次方
2.用于指定函数传入参数的类型。“*”用于参数前面,表示传入的多个参数将按照元组的形式存储,是一个元组。“**”用于参数前,表示传入的(多个)参数将按照字典的形式存储,是一个字典。
python模块及不同目录下导入模块方法:
要让函数是可导入的,得先创建模块。一般情况下,是一个以.py为后缀的文件。其他可作为module的文件类型还有”.pyo”、”.pyc”、”.pyd”、”.so”、”.dll”。
首先创建一个包含函数的模块:模块名1.py。
模块1.py所在的目录中创建另一个.py文件,调用模块1.py
1.
导入模块:import 模块1
调用模块:模块名1.函数名()
2.导入特定的函数
导入模块:from 模块名1 import 函数名
3.导入任意数量的函数
导入模块:from 模块名1 import 函数名1,函数名2,函数名3
4.使用as给函数指定别名
如果要导入的函数名称可能与程序现有名称冲突,可指定独一无二的别名。
导入模块:from 模块1 as 新名
5.导入模块中的所有函数
使用型号(*)运算符可让python导入模块中的所有函数:
导入模块:from 模块名1 import*
调用模块:模块1中函数(参数)