昨日知识点回顾:
函数实参、形参
用户输入和while循环
今日知识点学习:
8.4 传递列表
def users(names):
"""向列表中的用户发出简单的问候"""
for name in names:
msg = "Hello, "+name.title() +'!'
print(msg)
users_names = ['hoa','voe','lor']
users(users_names)
# 运行结果:
# Hello, Hoa!
# Hello, Voe!
# Hello, Lor!
8.4.1 在函数中修改列表
非函数实现:
unprint_names = ['lor','voe','kob','flo']
print_names = []
while unprint_names:
print_name = unprint_names.pop()
print('已打印的客户姓名:' + print_name)
print_names.append(print_name)
print('\nThe following names are printed:' )
for name in print_names:
print(name)
# 运行结果:
# 已打印的客户姓名:flo
# 已打印的客户姓名:kob
# 已打印的客户姓名:voe
# 已打印的客户姓名:lor
#
# The following names are printed:
# flo
# kob
# voe
# lor
def sw_p(unprint_names,print_names):
'''需要打印的名字从列表1中转移元素至列表2'''
tag = True
while tag:
print_name = unprint_names.pop()
print('已打印的客户姓名:' +print_name)
print_names.append(print_name)
if unprint_names == []:
tag = False
def p(print_names):
'''打印列表2的所有客户姓名'''
print('\nThe following names are printed:')
for print_name in print_names:
print(print_name)
u_names = ['lor','voe','kob','flo']
p_names = []
sw_p(u_names,p_names)
p(p_names)
#运行结果:
# 已打印的客户姓名:flo
# 已打印的客户姓名:kob
# 已打印的客户姓名:voe
# 已打印的客户姓名:lor
#
# The following names are printed:
# flo
# kob
# voe
# lor
8.4.2 禁止函数修改列表
def sw_p(unprint_names,print_names):
'''需要打印的名字从列表1中转移元素至列表2'''
tag = True
while tag:
print_name = unprint_names.pop()
print('已打印的客户姓名:' +print_name)
print_names.append(print_name)
if unprint_names == []:
tag = False
def p(print_names):
'''打印列表2的所有客户姓名'''
print('\nThe following names are printed:')
for print_name in print_names:
print(print_name)
u_names = ['lor','voe','kob','flo']
p_names = []
sw_p(u_names[:],p_names)
p(p_names)
print(u_names)
#运行结果:
# 已打印的客户姓名:flo
# 已打印的客户姓名:kob
# 已打印的客户姓名:voe
# 已打印的客户姓名:lor
#
# The following names are printed:
# flo
# kob
# voe
# lor
# ['lor', 'voe', 'kob', 'flo']
调用函数时:函数名(列表名[:])