'''
#创建一个空列表,包含一些要打印的设计
unprinted_designs = ['iphone','robot','books']
completed_modles = []

#模拟打印每个设计,直到没有未打印的设计为止
while unprinted_designs:
current_design = unprinted_designs.pop()

#模拟根据设计制作3D打印模型的过程
print("Printing model:"+current_design)
completed_modles.append(current_design)

#显示打印好的所有模型
print('\n The following models have been printed:')
for completed_modle in completed_modles:
print(completed_modle)
#print(completed_modles)
print(unprinted_designs)

'''
--------------------------------------------------------------------------------------------------------------------
#定义两个函数,函数1:负责处于打印设计的工作,函数2:概述打印了哪些设计

# unprinted_designs = ['iphone','robot','books']
# completed_modles = []
def print_models(unprinted_designs): #定义打印设计的函数,包含两个形参:一个需要打印的设计列表和一个打印好的模型列表
"""
模拟打印每个设计,直到没有未打印的设计为止
打印每个设计后,都将其移动到列表completed_models中
:param unprinted_designs:
:param completed_models:
:return:
"""
while unprinted_designs:
current_design= unprinted_designs.pop()

#模拟根据设计制作3D打印模型的过程
print("Printing model:"+current_design)
completed_models.append(current_design)
for unprinted_design in unprinted_designs:
print("Unprinted:"+unprinted_design)

def show_completed_models(completed_models): #定义展示已打印的函数,包含一个形参:打印好的模型列表
"""显示打印的所有模型"""
print("\nThe following models have been printed:")

for completed_modle in completed_models:
print(completed_modle)

unprinted_designs = ['iphone','robot','books'] #传递两个列表
completed_models = []

print_models(unprinted_designs[:]) #调用打印函数和展示函数 [:]建立副本可保留原始列表的内容
show_completed_models(completed_models)
# print("Unprinted:"+unprinted_designs)

python_函数传递列表的更多相关文章

  1. 【Python】向函数传递列表

    向函数传递列表 在实际使用中你会发现,向函数传递列表是比较实用的,这种列表可能包含名字.数字.可能更复杂的对象(字典) 假设向一个函数传递一堆水果,我们说出我们喜欢所有的水果 def Obj(frui ...

  2. python函数2(返回值、传递列表...)

    python函数2(返回值.传递列表...) 1.返回值 1.1.返回简单的值 #返回简单值 def get_formatted_name(first_name,last_name): "& ...

  3. python禁止函数修改列表的实现方法

    python禁止函数修改列表的实现方法 有时候,需要禁止函数修改列表.例如要对裂变进行修改操作,也要保留原来的未打印的设计列表,以供备案.为解决这个问题,可向函数传递列表的副本而不是原件:这样函数所做 ...

  4. 函数的学习2——返回值&传递列表——参考Python编程从入门到实践

    返回值 函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值.函数的返回值被称为返回值. 1. 简单的返回值 def get_formatted_name(first_name, l ...

  5. C++向main函数传递参数的方法(实例已上传至github)

    通常情况下,我们定义的main函数都只有空形参列表: int main(){...} 然而,有时我们确实需要给mian传递实参,一种常见的情况是用户设置一组选项来确定函数所要执行的操作.例如,假定ma ...

  6. Python学习之路:函数传递可变参数与不可变参数

    函数传参的方法: 太基础了,8说了 直接上重点 一.可变参数的传递 可变参数有:列表.集合.字典 直接上代码: a = [1, 2] def fun(a): print('传入函数时a的值为:', a ...

  7. 深入理解python中函数传递参数是值传递还是引用传递

    深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是"传对象引用 ...

  8. python 函数传递参数的多种方法

    python中函数根据是否有返回值可以分为四种:无参数无返回值,无参数有返回值,有参数无返回值,有参数有返回值. Python中函数传递参数的形式主要有以下五种,分别为位置传递,关键字传递,默认值传递 ...

  9. NotePad++ delphi/Pascal函数过程列表插件

    从cnpack上爬下来的 函数过程列表 点击下载

随机推荐

  1. mplayer configure选项中文注释

    mplayer configure选项中文注释(MPlayer-1.0rc2) http://blogold.chinaunix.net/u3/104581/showart_2322466.html ...

  2. HDU 4352

    #include <iostream> #include <cstdio> #include <cmath> #include <string.h> # ...

  3. Scapy介绍官方文档翻译

    关于Scapy Scapy为何如此特别 高速的报文设计 一次探測多次解释 Scapy解码而不解释 高速展示Quick demo 合理的默认值 学习Python 本人英文水平有限,翻译不当之处,请參考官 ...

  4. [GraphQL] Mutations and Input Types

    Sometimes, you want to resues object type when doing mutation, you can use 'input' type to help: inp ...

  5. AlertDialog自己定义View的使用方法+怎样改变弹出框的大小

    android系统定义了弹出框,支持我们自己定义布局: public AlertDialog getEditCustomDialog() { LayoutInflater inflater = get ...

  6. 转:IOS远程推送通知

    在ios系统中,app应用程序无法在后台完成较多的任务,仅仅允许程序做一些有限的任务(如音视频播放.地理位置信息.voip).然而,如果你想做 一些有趣的事情,并且告知用户,甚至用户没有使用你的app ...

  7. OzymanDNS 使用——perl 5.22没有成功。。。

    最初官方的代码没有找到,但是发现github里貌似有: git clone https://github.com/splitbrain/dnstunnel.git 源码是perl写的,需要安装一些pe ...

  8. [jzoj 6093] [GDOI2019模拟2019.3.30] 星辰大海 解题报告 (半平面交)

    题目链接: https://jzoj.net/senior/#contest/show/2686/2 题目: 题解: 说实话这题调试差不多花了我十小时,不过总算借着这道题大概了解了计算几何的基础知识 ...

  9. 37.Qt网络与通信

    1 获取本机网络与通信 在网络应用中,经常需要获得本机的主机名.IP地址和硬件地址等网络信息.运用QHostInfo,QNetWorkInterface,QNetworkAddressEntry可获得 ...

  10. php基础------将二维数组转三维数组

    将二维数组转为三维数组 /** * 二维数组转三维数组(指定键为三维数组的键名) * @param [type] $arr [要排序的数组] * @param [type] $key [指定的键] * ...