函数与字典,可选参数和while语句结合的简单应用

python函数可以与各种语句相结合,以达到提高效率简化流程的目的:

  1. 通过函数创建字典
    eg. 将歌手与专辑对应,并储存在字典当中
def make_ablum(name, album):
    """返回整洁的字典格式"""
    album_details = {‘singer‘: name, ‘album‘: album_name}
    return album_details

#已经定义好了字典,现在可以输入几个对应值来检测
album_details_1 = make_album(‘Jay‘, ‘Fantasy‘)
album_details_2 = make_album(‘Taylor Swift‘, ‘Style‘)
album_details_3 = make_album(‘elva‘, ‘the fifth ave‘)
print(album_details_1)
print(album_details_2)
print(album_details_3)



2 在函数中添加可选参数,也就是说,如果添加,则会显示;若不添加,则自动忽略。
只需要用if语句就可以实现这个功能
eg.在上面的歌手与专辑的对应中,添加个歌曲数量的统计

def make_album(name, album_name, number_of_songs = ""):
#number_of_songs 先用空字符代替
    """将歌曲数设置为可选参数"""
    album_details = {‘singer‘: name, ‘album‘: album_name}
    if number_of_songs:
        album_details[‘number of songs‘] = number_of_songs
#只要填入歌曲数,则if语句为真,相应的,会在字典中添加
    return album_details
#定义好以后,可以分别用含歌曲数和不含的两组值来测试

detail_1 = make_album(‘Jay‘, ‘Fantasy‘)
detail_2 = make_album(‘Taylor Swift‘, ‘Style‘, ‘1‘)
print(detail_1)
print(detail_2)



3 除了与if语句相结合,同样也可以与while语句结合,比如下面的例子。通过和while结合,通过用户自己的输入,编写好字典的相关信息。并加入指示,使用户可以停止该循环:

def make_album(name, album_name, number_of_songs):
    """将歌曲数设置为可选参数,在用while语句通过用户输入调用"""
    album_details = {‘singer‘: name, ‘album‘: album_name}
    if number_of_songs:
        album_details[‘number of songs‘] = number_of_songs
    return album_details
#函数定义好以后,就可以与while语句相结合
while True:
    print("\nPlease tell me the details of your favorite album:")
    print("(enter ‘q‘ at any time to quit)")

    name = input("Singer‘s name: ")
    if name == "q":
        break
#break的使用可以使用户操作停止该循环
    album_name = input("Favorite album:")
    if album_name == "q":
        break

    number_of_songs = input("How many songs in the album?")
    if number_of_songs == "q":
        break

    album_details = make_album(name, album_name, number_of_songs)

    print("Thanks for the following information!")
    print(album_details)

原文地址:http://blog.51cto.com/13595859/2090096

时间: 2024-11-13 08:04:04

函数与字典,可选参数和while语句结合的简单应用的相关文章

@requesMapping的可配置参数和标注的处理方法的可选参数

使用@requesMapping标注的处理函数包括的可选参数,除了HttpServletRequest, HttpServletResponse, HttpSession这些web应用中常见的参数及之前提到过的@PathVariable外,还可以包括以下可选的参数,其中大部分参数的顺序没有特殊要求的. java.util.Locale 当前请求所属的区域设置. java.io.InputStream或java.io.Reader 用来读取request content,相当于 request.g

可选参数

可选参数 在 js 里,声明一个函数可以定制多个参数,与此同时,你在调用该函数的时候不需要传入所有的参数,它就能正常执行,只不过这些参数默认就是undefined而已.所以似乎 js 的函数天生就带有可选参数这个功能,只不过在你不进行定制的时候它们都具有一个 "统一" 的值罢了.但,我们也知道,除非函数里就实现了针对某个参数为undefined时的行为,让参数为undefined是比较危险的.该如何实现函数内的可选参数,我们将用 js 里的构造方法来举例(假如我们要实现一个 Perso

可选参数的函数还可以这样设计!

// foo(a[, b], c) // 接收2~3个参数,b是可选参数,如果只传2个参数,b默认为null: function foo(a, b, c) { if (arguments.length === 2) { // 实际拿到的参数是a和b,c为undefined c = b; // 把b赋给c b = null; // b变为默认值 } // ... } php也可以用这个思路来设计哈,不过php没有arguments这样的关键字,可以通过func_num_args方法来获取传入函数内

Python直接用字典数组导入到函数的非固定参数

正好是学logging模块的时候遇到的.代码是这样的: logging.basicConfig(filename='test.log',                     level=logging.DEBUG,                     format='%(name)s %(asctime)s %(module)s-%(lineno)d [%(levelname)s]:%(message)s',                     datefmt='%Y-%m-%d %

python3里函数怎么样使用元组或字典作为参数调用(复制他人博客)

在python3中可以采用如下方法: 函数(*(元组)) 函数(**{字典}) 如下例子:       function(*("whither", "canada?"))               元组       function(*(1, 2 + 3))                                   元组       function(**{"a": "crunchy", "b"

[python 函数学习篇] 关键字参数

函数可以通过 关键字参数 的形式来调用,形如 keyword = value .例如,以下的函数: def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'): print "-- This parrot wouldn't", action, print "if you put", voltage, "volts through it." print &qu

SQL 自定义函数(Function)——参数默认值

sql server 自定义函数分为三种类型:标量函数(Scalar Function).内嵌表值函数(Inline Function).多声明表值函数(Multi-Statement Function) 标量函数:标量函数是对单一值操作,返回单一值. 内嵌表值函数:内嵌表值函数的功能相当于一个参数化的视图.它返回的是一个表,内联表值型函数没有由BEGIN-END 语句括起来的函数体. 多声明表值函数:它的返回值是一个表,但它和标量型函数一样有一个用BEGIN-END 语句括起来的函数体,返回值

jQuery form插件的使用--ajaxForm()和ajaxSubmit()的可选参数项对象

一.前提说明 Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 二.简单介绍 本文演示的是:jQuery form插件的使用--ajaxForm()和ajaxSubmit()的可选参数项对象 $('#myForm').ajaxForm(function() { $('#output1').html("提交成功!欢迎下次再来!").show(); }); $('#myForm2').sub

王爽-汇编语言-综合研究五-函数接收不定量参数

(一) 研究目的 我们知道,在C语言中,函数是可以传递参数的.有些函数在声明是就定义了要传的参数的个数,比如我们定义void a(int i);这说明函数a只接受一个int型参数.而有些函数,比如print函数,是可以接收不定个数的参数的.那函数是怎样接收不定量参数的呢? (二) 研究过程 1) 有限个数的参数 首先我们来看程序是如何传参数的.我们编写一个程序,让他传递有限个参数: 我们编译链接,然后反汇编查看其代码: 我们看其代码,首先,在main函数中,分别将‘a’与2对应的ASCLL码放到