答: 分析如下。
第47题的答案是这样的,我看你在每个字符串后面写了一下它的长度10,但并不是这样比较的,他们是下标相同的字母依次逐个比较,以a,b为例, a的第1个字母是w,b的第1个字母是s,很明显w排在s的后面,所以在第1次比较后就得到了结果a>b,如果第1次比较不出来结果,再继续向下比较。然后再执行if里面的语句,这个时候你就知道怎么判断了吧~
第138题定义了一个3×3的二维列表,题目中代码功能就是将该列表里面的值全部相加,外层循环负责取每一行,内层循环负责取每一行里面的元素,range(3)是因为每一行里面刚好有三个元素,使用这种表达方式正好可以使内循环里面的语句运行三次。
第138题,如果结合一个实际的例子会更好理解,就像下面这个例子一样。
例子中的cou类似于题目中的counts,get()函数有两个参数,第一个参数设置键的值,第2个参数将键对应的值,并初始化为0,注意只有get函数第1次调用的时候才会进行初始化,后面都不会进行。
希望可以帮助到你~
47. 字符串比较大小,默认应该是从第一个字母的 ASCII 值开始比较起,通俗来说就是字母越靠后越大,同样大小写的情况下。比较大小时候,中间是赋值操作。因为没有中间变量,所以在赋值过程中一个值被丢弃了。赋值的本质参考 C 语言的指针。
138 你在中间 for c in a 后面下一行写个 print(c) 就明白了。本质上是求等差数列。
631 这个题答案本身就有错。counts 和 conut 必须统一。至于取 0 ,是设置默认值,就是那个新的 word 一开始是从0 个开始,看到有新的一个就加 1 。一开始没有值的时候直接取出会发生异常。
2021-06-20
138.外层循环c依次遍历了[1,2,3],[4,5,6],[7,8,9],内层循环依次遍历了列表中的元素,所以s是将所有元素求和,结果是45
631.get方法默认应返回0