圣剑三刀。abx 发表于 2018-8-4 20:41:49

新手鱼的大神梦(python笔记016)

本帖最后由 圣剑三刀。abx 于 2018-8-4 20:44 编辑

016
0、字符串、列表以及元组统称为序列!它们有许多共同点:
          1)都可以通过索引得到每一个元素
        2)默认索引值总是从0开始(当然灵活的Python还支持负数索引)
        3)可以通过分片的方法得到一个范围内的元素的集合
        4)有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)
1、迭代概念:
        所谓迭代,是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。(目前只在for循环,和序列的一些方法中见到它的身影)
2、序列中一些方法:
        1)三个家伙互相转换(就像当时学数据类型时的效果)
              list()               str()              tuple()
        2)对序列所含元素的各种计算数值
              len()               max()              min()        sum()
        3)按要求改变序列
              sorted()                              reversed()
              enumerate()                      zip()

课后练习
0、序列的概念
1、序列的三个小伙伴互相转换的方法
2、迭代的概念
3、max()方法理解(ascii码比较机制)
4、成员资格操作符复习,还有判断需要打印“不存在”的小技巧

动动手
由于参考答案用到了我还没学到的函数(下节课知识),所以不做分析了。大思路都是一样的
0、答案:
def min(x):
    least = x

    for each in x:
      if each < least:
            least = each

    return least

print(min('123456789'))
最后一行是真没看懂。。。以后学了函数我再回来看看吧

我的代码:
a =(1,2,3,4)
small = a

for each in a:
    if each < small:
      small = each

return small

大体思路都是一样的。利用 for 循环一一比较,找出元素中最小的那个。与 max()区别就在一个小小的符号上。

1、答案:
def sum(x):
    result = 0
   
    for each in x:
      if (type(each) == int) or (type(each) == float):
            result += each
      else:
            continue

    return result

print(sum())
最后一行还是不懂。。。

我的代码:
num = input('请输入一个 iterable 来实现 sum 功能:')
start = int(input('请输入一个初始值:'))

for i in num:
    if i.isdigit():
      i = int(i)
      start += i

print(start)
      
不同之处就在,我用了 isdigit ,而答案用了 type 来判断。也许是因为上面用了函数???也许。好像上面是传说中的自定义函数。不懂。慢慢学了再说吧。
给自己和那些一起奋斗的小伙伴们加个油!

青春奋斗 发表于 2018-8-10 10:48:43

相当于调用这个函数,并把函数里的元素传进去,经行筛选,最后打印出来

青春奋斗 发表于 2018-8-10 10:50:01

def sum(x)就是定义的函数方法,当你下面出现sum()就会调用这个函数,并把函数里的内容传进去{:5_91:}

圣剑三刀。abx 发表于 2018-8-10 17:53:52

青春奋斗 发表于 2018-8-10 10:50
def sum(x)就是定义的函数方法,当你下面出现sum()就会调用这个函数,并把函数里的内容传进去

啊,就是现场再用一遍这个函数啦。谢谢谢谢。
页: [1]
查看完整版本: 新手鱼的大神梦(python笔记016)