美文网首页
笨办法学python习题0~习题39

笨办法学python习题0~习题39

作者: KennyP0618 | 来源:发表于2017-08-23 00:21 被阅读0次

    习题0:准备工作

    总有一天你会听到有程序员建议你使用 Mac OSX 或者 Linux。如果他喜欢字体美观,他会告诉你让你弄台 Mac OSX 计算机,如果他们喜欢操作控制而且留了一部大胡子,他会让你安装 Linux。这里再次向你说明,只要是一台手上能用的电脑就可以了。你需要的只有三样东西: gedit、一个命令行终端、还有 python。


    习题1:第一个程序

    学会看调试的错误信息

    这些内容你应该学会看懂的,这是很重要的一点,因为你以后还会犯类似的错误。

    python调试错误格式:

    • 会打印出错误的行
    • 指示错误的地方
    • 指示错误的类型

    习题2:注释和井号

    中文为井号,英文为 octothorpe 或者 pound characte

    程序里的注释是很重要的。它们可以用自然语言告诉你某段代码的功能是什么。在你想要临时移除一段代码时,你还可以用注解的方式将这段代码临时禁用
    中文为井号,英文为 octothorpe 或者 pound characte


    习题 3: 数字和数学计算

    每一种编程语言都包含处理数字和进行数学计算的方法。不必担心,程序员经常撒谎说他们是多么牛的数学天才,其实他们根本不是。

    如果他们真是数学天才,他们早就去从事数学相关的行业了,而不是写写广告程序和社交网络游戏,从人们身上偷赚点小钱而已。

    加分习题

    由于本教材使用的是 python2.x 未定属性为浮点数的情况默认整数
    而本机使用python3.x 整数运算自动精确到小数点后17位~


    习题4:变量(variable)和命名

    在编程中,变量只不过是用来指代某个东西的名字。程序员通过使用变量名可以让他们的程序读起来更像英语。而且因为程序员的记性都不怎么地,变量名可以让他们更容易记住程序的内容。
    如果他们没有在写程序时使用好的变量名,在下一次读到原来写的代码时他们会大为头疼的。

    space_in_a_car 中的 _ 是 下划线(underscore) 字符。你要自己学会怎样打出这个字符来。这个符号在变量里通常被用作假想的空格,用来隔开单词。

    记住 = 的名字是等于(equal),它的作用是为东西取名。

    记住 _ 是下划线字符(underscore)。


    习题5:更多的变量和打印

    这次我们将使用一个叫“格式化字符串(format string)”的东西. 每一次你使用 " 把一些文本引用起来,你就建立了一个字符串。 字符串是程序将信息展示给人的方式。你可以打印它们,可以将它们写入文件,还可以将它们发送给网站服务器,很多事情都是通过字符串交流实现的。

    外链索引

    在编写程序的过程中,经常需要进行格式化输出,每次用每次查。干脆就在这里整理一下,以便索引。
    This is python格式字符串 reference-style link.


    习题6:字符串(string)和文本

    字符串通常是指你想要展示给别人的、或者是你想要从程序里“导出”的一小段字符。Python 可以通过文本里的双引号 " 或者单引号 ' 识别出字符串来。这在你以前的 print 练习中你已经见过很多次了。如果你把单引号或者双引号括起来的文本放到 print 后面,它们就会被 python 打印出来。

    字符串可以包含格式化字符 %s,这个你之前也见过的。你只要将格式化的变量放到字符串中,再紧跟着一个百分号 % (percent),再紧跟着变量名即可。唯一要注意的地方,是如果你想要在字符串中通过格式化字符放入多个变量的时候,你需要将变量放到 ( ) 圆括号(parenthesis)中,而且变量之间用 , 逗号(comma)隔开。就像你逛商店说“我要买牛奶、面包、鸡蛋、八宝粥”一样,只不过程序员说的是”(milk, eggs, bread, soup)”。

    我们将键入大量的字符串、变量、和格式化字符,并且将它们打印出来。我们还将练习使用简写的变量名。程序员喜欢使用恼人的难度的简写来节约打字时间,所以我们现在就提早学会这个,这样你就能读懂并且写出这些东西了。


    习题 7: 更多打印


    习题 8: 打印,打印


    习题 9: 打印,打印,打印

    先说1双引号3个双引号的区别,双引号所表示的字符串通常要写成一行
    如:
    s1 = "hello,world"
    如果要写成多行,那么就要使用/ (“连行符”)吧,如
    s2 = "hello,/
    world"
    s2与s1是一样的。如果你用3个双引号的话,就可以直接写了,如下:
    s3 = """hello,
    world,
    hahaha.""",那么s3实际上就是"hello,/nworld,/nhahaha.", 注意“/n”,所以,
    如果你的字符串里/n很多,你又不想在字符串中用/n的话,那么就可以使用3个双
    引号。而且使用3个双引号还可以在字符串中增加注释,如下:
    s3 = """hello, #hoho, this is hello, 在3个双引号的字符串内可以有注释哦
    world, #hoho, this is world
    hahaha."""
    这就是3个双引号1个双引号表示字符串的区别了,3个双引号与1个单引号的区别也
    是和这个一样的,实际上python支持单引号是有原因的,下面我来比较1个单引号1个双引号的区别。
    当我用单引号来表示一个字符串时,如果要表示 Let's go 这个字符串,必须这样:
    s4 = 'Let/'s go',注意没有,字符串中有一个',而字符串又是用'来表示,所以
    这个时候就要使用转义符 / (/,转义符应该知道吧), 如果你的字符串中有一大堆
    的转义符,看起来肯定不舒服,python也很好的解决了这个问题,如下:
    s5 = "Let's go"
    这时,我们看,python知道你是用 " 来表示字符串,所以python就把字符串中的那
    个单引号 ' , 当成普通的字符处理了,是不是很简单。
    对于双引号,也是一样的,下面举个例子
    s6 = 'I realy like "python"!'
    这就是单引号和双引号都可以表示字符串的原因了。


    习题 10: 那是什么?

    \t的作用是拉空格
    \作用是打印一个\


    习题 11: 提问

    一般软件做的事情主要就是下面几条:

    • 接受人的输入
    • 改变输入。
    • 打印出改变了的输入。

    注意到我在每行 print 后面加了个逗号(comma) , 了吧?这样的话 print 就不会输出新行符而结束这一行跑到下一行去了。


    习题 12: 提示别人

    当你键入 raw_input() 的时候,你需要键入 ( 和 ) 也就是“括号(parenthesis)”。这和你格式化输出两个以上变量时的情况有点类似,比如说 "%s %s" % (x, y) 里边就有括号。对于 raw_input 而言,你还可以让它显示出一个提示,从而告诉别人应该输入什么东西。你可以在 () 之间放入一个你想要作为提示的字符串

    现在的搜索引擎这么发达,为什么还要使用Python自带的帮助系统呢?因为:1)利用搜索引擎搜出的结果往往太宽泛,不聚焦,一些论坛和blog给出的结论往往会针对一些过时的版本,但又不指明,有的还有一些typos,这样就增大了解决问题的时间;2)利用搜索引擎需要联网,自带的就非常方便,随时都陪在你的身边;3)自带的帮助系统给出的结果可靠,准确和版本一致。基于以上的原因,我们仍然需要掌握自带帮助系统的使用方法。


    习题 13: 参数、解包、变量

    from  sys import argv
    
    script, first, second, third = argv
    
    print("The script is called :", script)
    print("your first variable is :", first)
    print("your second variable is :", second)
    print("your third variable is :", third)
    

    在第 1 行我们有一个“import”语句. 这是你将 python 的功能引入你的脚本的方法. Python 不会一下子将它所有的功能给你,而是让你需要什么就调用什么。这样可以让你的程序保持精简,而后面的程序员看到你的代码的时候,这些“import”可以作为提示,让他们明白你的代码用到了哪些功能。

    argv 是所谓的“参数变量(argument variable)”,是一个非常标准的编程术语。在其他的编程语言里你也可以看到它。这个变量包含了你传递给 Python 的参数。通过后面的练习你将对它有更多的了解。

    第 3 行将 argv “解包(unpack)”,与其将所有参数放到同一个变量下面,我们将每个参数赋予一个变量名: script, first, second, 以及 third。这也许看上去有些奇怪, 不过”解包”可能是最好的描述方式了。它的含义很简单:“把 argv 中的东西解包,将所有的参数依次赋予左边的变量名”。

    命令行输入下的结果1 命令行输入下的结果2

    在pycharm里面运行命令行:
    Run/Debug Configurations->Configurations->Script Parames

    输入

    结果:

    The script is called : C:/Users/Administrator.WENNRK2ZC0P1OB5/PycharmProjects/untitled/python/Python learning/ex13.py
    your first variable is : apple
    your second variable is : cheese
    your third variable is : pig

    当输入错误信息时:例如少输入一个参数时

    当你运行脚本时提供的参数的个数不对的时候,你就会看到上述错误信息 (这次我只用了
    first 2nd 两个参数)。“need more than 3 values to unpack”这个错误信息告诉你参数数量不足。

    等一下!“功能”还有另外一个名字

    前面我们使用 import 让你的程序实现更多的功能,但实际上没人吧 import 称为“功能”。我希望你可以在没接触到正式术语的时候就弄懂它的功能。在继续下去之前, 你需要知道它们的真正名称:模组(modules)。

    从现在开始我们将把这些我们导入(import)进来的功能称作模组。你将看到类似这样的说法:“你需要把 sys 模组 import 进来。”也有人将它们称作“库(libraries)”,不过我们还是叫它们模组吧。


    习题 14: 提示和传递

    输出

    习题15:读取文件

    读取文件输入输出

    如下代码:

    from sys import argv
    
    script, filename = argv
    
     txt = open(filename)
    
    print "Here's your file %r:" % filename
    print txt.read()
    
    print "Type the filename again:"
    file_again = raw_input("> ")
    
    txt_again = open(file_again)
    
    print txt_again.read()
    

    我使用了“命令”这个词,不过实际上它们的名字是“函数(function)”和“方法(method)。上网搜索一下这两者的意义和区别。看不明白也没关系,迷失在别的程序员的知识海洋里是很正常的一件事情
    下附链接:
    函数与方法区别


    习题16:读写文件

    你应该记住的命令如下:

    • close – 关闭文件。跟你编辑器的 文件->保存.. 一个意思。
    • read – 读取文件内容。你可以把结果赋给一个变量。
    • readline – 读取文本文件中的一行。
    • truncate – 清空文件,请小心使用该命令。
    • write(stuff) – 将stuff写入文件。
    输入输出结果

    代码执行的操作流程为:打开-清空-写入-关闭

    练习代码:
    #python ex16_practice.py ex15_sample.txt
    from sys import argv

    script,filename = argv
    
    txt =open(filename)
    
    print(txt.read())
    txt.close()
    

    上述代码输出结果:

    输出结果

    加分习题中的第三题:
    文件中重复的地方太多了。试着用一个 target.write() 将 line1, line2, line3 打印出来,你可以使用字符串、格式化字符、以及转义字符。

    Python新旧两种格式化输出:

    旧%格式串:

    target.write('%s\n%s\n%s\n' %(line1,line2,line3))
    

    新format()格式串:

    target.write('{0}\n{1}\n{2}\n'.format(line1,line2,line3))
    

    找出为什么我们需要给 open 多赋予一个 'w' 参数。提示: open 对于文件的写入操作态度是安全第一,所以你只有特别指定以后,它才会进行写入操作

     target = open(filename, 'w')
    

    习题17:更多文件操作

    • 通过import导入更多功能,复用现成功能,而不是浪费时间再造轮子也是写程序很重要的一个思想。
    • 首次用到exists功能。可以判断文件是否存在,返回一个布尔值。

    加分习题:

    1.再多读读和 import 相关的材料,将 python 运行起来,试试这一条命令。试着看看自己能不能摸出点门道,当然了,即使弄不明白也没关系。
    *模块和包的参考文档:http://wiki.woodpecker.org.cn/moin/PythonEssentialRef8
    import当然是用来引入各种模块、包,从而使用其中包含的方法,定义的数据等。具体等日后丰富。
    2.这个脚本 实在是 有点烦人。没必要在拷贝之前问一遍把,没必要在屏幕上输出那么多东西。试着删掉脚本的一些功能,让它使用起来更加友好。
    '''''
    3.看看你能把这个脚本改多短,我可以把它写成一行。

     from sys import argv
     script, from_file, to_file = argv
     open(to_file,'w').write(open(from_file).read())
    

    4.我使用了一个叫 cat 的东西,这个古老的命令的用处是将两个文件“连接(concatenate)”到一起,不过实际上它最大的用途是打印文件内容到屏幕上。你可以通过 man cat 命令了解到更多信息。
    '''
    5.使用 Windows 的同学,你们可以给自己找一个 cat 的替代品。关于 man 的东西就别想太多了,Windows 下没这个命令。
    '''
    6.找出为什么你需要在代码中写 output.close() 。
    收回资源


    习题 18: 命名、变量、代码、函数

    函数可以做三样事情:

    • 它们给代码片段命名,就跟“变量”给字符串和数字命名一样。
    • 它们可以接受参数,就跟你的脚本接受 argv 一样。
    • 通过使用 #1 和 #2,它们可以让你创建“微型脚本”或者“小命令”。

    为自己写一个函数注意事项以供后续参考。你可以写在一个索引卡片上随时阅读,直到你记住所有的要点为止。注意事项如下:

    函数定义是以 def 开始的吗?是的
    函数名称是以字符和下划线 _ 组成的吗?可以,但不一定
    函数名称是不是紧跟着括号 ( ?不一定,紧跟或不紧跟都可以
    括号里是否包含参数?多个参数是否以逗号隔开?可以
    参数名称是否有重复?(不能使用重复的参数名)''''
    紧跟着参数的是不是括号和冒号 ): ?是的
    紧跟着函数定义的代码是否使用了 4 个空格的缩进 (indent)?是的
    函数结束的位置是否取消了缩进 (“dedent”)?是的
    当你运行(或者说“使用 use”或者“调用 call”)一个函数时,记得检查下面的要点:

    • 调运函数时是否使用了函数的名称?
    • 函数名称是否紧跟着 ( ?
    • 括号后有无参数?多个参数是否以逗号隔开?
    • 函数是否以 ) 结尾?
    • 按照这两份检查表里的内容检查你的练习,直到你不需要检查表为止。

    最后,将下面这句话阅读几遍:

    “‘运行函数(run)’、‘调用函数(call)’、和 ‘使用函数(use)’是同一个意思”


    习题19:函数和变量

    有一个你可能没有注意到的细节,我们现在强调一下:函数里边的变量和脚本里边的变量之间是没有连接的
    函数里的变量是局部变量,而脚本里的变量叫全局变量。
    例如在某一函数里,虽然定义的变量名与脚本中定义的变量名相同,但脚本中的变量的赋值并不影响函数中的变量名的值。反过来函数中也不影响脚本中的变量名。

    以下为例子:

    举例
     #python ex19.py
      from sys import argv
      script,cheese_count,boxes_of_crackers = argv
      print("there is the firsr raw %s,%s" % (cheese_count,boxes_of_crackers))
      def cheese_and_crackers(cheese_count, boxes_of_crackers):
        print("You have %d cheeses!" % cheese_count)
        print("You have %d boxes of crackers!" % boxes_of_crackers)
        print("Man that's enough for a party!")
        print("Get a blanket.\n")
        print("We can just give the functio n numbers directly:")
      cheese_and_crackers(20, 30)
    

    习题20:函数和文件

    加分习题:

    1.通读脚本,在每行之前加上注解,以理解脚本里发生的事情。
    2.每次 print_a_line 运行时,你都传递了一个叫 current_line 的变量。
    在每次调用函数时,打印出 current_line 的值,跟踪一下它在 print_a_line 中是怎样变成 line_count 的。
    "current_line"这个变量作为"print_a_line"的参数传递一个值给"print_a_line"方法,在这个方法中会把值赋给"line_count"变量,参与计算。

    3.找出脚本中每一个用到函数的地方。检查 def 一行,确认参数没有用错。
    4.上网研究一下 file 中的 seek 函数是做什么用的。试着运行 pydoc file 看看能不能学到更多。
    #seek 函数是用来指定文件位置的函数,使用方法
    #seek (offset[, whence])
    #第一个值(offset)用来指定偏移的大小,可有正负。
    #第二个值(whence)用来指定开始位置,'0'代表绝对开始位置(默认值),'1'代表当前指针所在位置,'2'代表绝对结束位置。
    #例字符串[abcdefg],当读取到abcd时,使用seek(0),那么就能回到a之前,此时打印全部就能打印出[abcdefg]
    #这时使用seek(0,1),就相当于当前位置,等于没变化。
    #这是使用seek(2,1),就相当于从在当前位置往后三个位置,也就是从g开始,此时能够输出g。
    #这时使用seek(-2,2),就像先回到最末尾,然后往前两个位置,此时能够输出[fg]。
    5.研究一下 += 这个简写操作符的作用,写一个脚本,把这个操作符用在里边试一下。
    递增符号。已直接优化进代码。
    例如定义了str=“woaini”
    str+=“paste”意思就是str=“woaini”+“paste”
    计算的结果重新赋给str


    习题21:函数可以返回东西

    返回值概念,这部分没有很大问题。


    习题22:到现在你学到了哪些东西?

    做这节练习没有失败,只有尝试,请牢记这一点。

    """三引号问题

    如果你的字符串里/n很多,你又不想在字符串中用/n的话,那么就可以使用3个双
    引号。而且使用3个双引号还可以在字符串中增加注释,如下:
    s3 = """hello, #hoho, this is hello, 在3个双引号的字符串内可以有注释哦
    world, #hoho, this is world
    hahaha."""

    \t的意思是空格

    tabby_cat = "\tI'm tabbed in."
    

    字符中单双引号的转义

    print ("I am 6'2\" tall." ) # 将字符串中的双引号转义
    print ('I am 6\'2" tall.')  # 将字符串种的单引号转义
    

    \的意思

    backslash_cat = "I'm \\ a \\ cat."#only print one \
    

    input()输入

    age = input("How old are you? ")
    height = input("How tall are you? ")
    weight = input("How much do you weigh? ")
    

    script 脚本

    from sys import argv

    sys 为内置模块,提供了许多函数和变量来处理 Python 运行时环境的不同部分。是固定的用法,不能自己随便写名字代替它,这行的作用就是要把用到的东西(比如需要什么特定函数什么之类的)从这个东西存放的模块中引入程序中。
    argv就是列表(参数变量),是编程术语。在解释器启动后, argv 列表包含了传递给脚本的所有参数, 第一个元素为脚本自身的名称

    truncate()方法

    作用是清空txt文件

    close()方法

    收回资源


    习题 23: 读代码


    习题24:更多练习


    习题25:更多更多的练习

    加分习题

    • 研究答案中没有分析过的行,找出它们的来龙去脉。确认自己明白了自己使用的是模组 ex25 中定义的函数。
    • 试着执行 help(ex25) 和 help(ex25.break_words) 。这是你得到模组帮助文档的方式。 所谓帮助文档就是你定义函数时放在 """ 之间的东西,它们也被称作 documentation comments (文档注解),后面你还会看到更多类似的东西。
    • 重复键入 ex25. 是很烦的一件事情。有一个捷径就是用 from ex25 import * 的方式导入模组。这相当于说:“我要把 ex25 中所有的东西 import 进来。”程序员喜欢说这样的倒装句,开一个新的会话,看看你所有的函数是不是已经在那里了。
    • 把你脚本里的内容逐行通过 python 编译器执行,看看会是什么样子。你可以执行CTRL-D (Windows 下是 CTRL-Z)来关闭编译器。

    习题26:恭喜你,现在可以考试了!

    i'm pass the exam.


    习题 27: 记住逻辑关系


    习题28:布尔表达式练习


    习题 29: 如果(if)


    习题30:Else 和 If


    习题 31: 作出决定


    习题32:循环与列表

    append()方法用于在列表末尾添加新的对象。

    list1 = ['Google', 'Runoob', 'Taobao']
    list1.append('Baidu')
    print ("更新后的列表 : ", list1)
    更新后的列表 :  ['Google', 'Runoob', 'Taobao', 'Baidu']
    

    range()方法函数可创建一个整数列表,一般用在 for 循环中。

    >>>range(10)        # 从 0 开始到 10
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> range(1, 11)     # 从 1 开始到 11
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    >>> range(0, 30, 5)  # 步长为 5
    [0, 5, 10, 15, 20, 25]
    >>> range(0, 10, 3)  # 步长为 3
    [0, 3, 6, 9]
    >>> range(0, -10, -1) # 负数
    [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
    >>> range(0)
    []
    >>> range(1, 0)
    []
    

    更多有关列表的函数可以参考:python3列表


    习题33:While 循环

    while 循环,它所作的和 if 语句类似,也是去检查一个布尔表达式的真假,不一样的是它下面的代码片段不是只被执行一次,而是执行完后再调回到 while 所在的位置,如此重复进行,直到 while 表达式为 False 为止

    While 循环有一个问题,那就是有时它会永不结束。如果你的目的是循环到宇宙毁灭为止,那这样也挺好的,不过其他的情况下你的循环总需要有一个结束点。
    为了避免这样的问题,你需要遵循下面的规定:

    • 尽量少用 while-loop,大部分时候 for-loop 是更好的选择。
    • 重复检查你的 while 语句,确定你测试的布尔表达式最终会变成 False 。
    • 如果不确定,就在 while-loop 的结尾打印出你要测试的值。看看它的变化。

    加分习题:

    接下来使用 for-loop 和 range 把这个脚本再写一遍。你还需要中间的加值操作吗?如果你不去掉它,会有什么样的结果?

    numbers=[]
    def test_for_loop(i,newi):
        for i in range(0,6):
            print("At the top i is %r"%i)
            numbers.append(i)
            i=i+newi
            print("numbers now :",numbers)
            print("At the numbers i %d"%i)
    
    print(test_for_loop(0,1))
    
    print("The numbers:")
    

    习题 34: 访问列表的元素


    习题35:分支与函数

    加分习题:

    这个 gold_room 游戏使用了奇怪的方式让你键入一个数字。这种方式会导致什么样的 bug? 你可以用比检查 0、1 更好的方式判断输入是否是数字吗?int() 这个函数可以给你一些头绪。

    if "0" in next or "1" in next:
            how_much = int(next)
        else:
            dead("Man, learn to type a number.")
    

    作者使用了如上代码来给how_much进行赋值。这样写的问题就是如果输入的是2、22这些不带0和1的数字,那么就会走入错误的逻辑分支。查了一下,用isdigit函数可以实现判断是否为数字的功能。如下:

    if next.isdigit():
            how_much = int(next)
    

    exit()

    exit(0):无错误退出
    exit(1):有错误退出
    退出代码是告诉解释器的(或操作系统)


    习题 36: 设计和调试

    WARNING

    在日常编程中不要成为这些规则的奴隶。在训练中,你需要通过这些规则的应用来巩固你学到的知识,而在实际编程中这些规则有时其实很蠢。如果你觉得哪个规则很蠢,就别使用它。

    if 规则
    • 每个 if 语句必须包含一个else.
    • if 语句嵌套尽量不要超过2层
    • if 语句段的前后各保持一个空行,这个规则对其他语句段也适用,如函数、循环
    • if 条件应尽量保持简单,若比较复杂,应先建立变量保存该值
      如果else永远都执行不到,必须在else语句后面使用die函数

    习题37:复习各种符号

    各种符号参考

    习题38:阅读代码


    习题 39: 列表的操作

    #字符串
    ten_things = "Apples Oranges Crows Telephone Light Sugar"
    
    #打印字符串
    print "Wait there are not 10 things in that list. Let's fix that."
    
    #以空格为分隔符,分解字符串中的子串,返回一个列表
    stuff = ten_things.split(' ')
    
    #定义一个列表
    more_stuff = ["Day","Night","Song","Frisbee","Corn","Banana","Girl","Boy"]
    
    #打印列表
    print stuff
    
    #循环,当列表元素个数不等于10
    while len(stuff) != 10:
    #删除列表最后一个元素,并返回
       next_one = more_stuff.pop()
       print "Adding: ", next_one
    #将删除的元素添加到另一个列表的末尾
        stuff.append(next_one)
        print "There are %d items now." % len(stuff)
    
    print "There we go: ", stuff
    
    print "Let's do some things with stuff."
    
    #打印列表的第2个元素
    print stuff[1]
    #打印列表最后一个元素
    print stuff[-1]
    #删除列表最后一个元素
    print stuff.pop()
    #用空格字符联接列表中的各个元素
    print ' '.join(stuff)
    #用井号联接列表的第4和第5个元素
    print '#'.join(stuff[3:5])
    

    习题 40: 字典, 可爱的字典

    这是最有用的容器:字典(dictionary)。

    Python 将这种数据类型叫做 “dict”,有的语言里它的名称是 “hash”。

    相关文章

      网友评论

          本文标题:笨办法学python习题0~习题39

          本文链接:https://www.haomeiwen.com/subject/scymrxtx.html