第二周作业
习题4-1
>>> pizza = ['liulian', 'haixian', 'zhishi']
>>> for i in pizza:
... print('i like ' + i + ' pizza')
...
i like liulian pizza
i like haixian pizza
i like zhishi pizza
>>> print('i really love pizza')
i really love pizza
我最喜欢就是榴莲pizza啦,超好吃!
习题4-2和4-1一模一样的题目。。。
习题4-3
>>> for i in range(1, 21):
... print(i)
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
习题4-4
>>> lst = range(1, 10**6+1)
>>> for i in lst:
... print(i)
...
习题4-5
>>> lst = range(1, 10**6+1)
>>> min(lst)
1
>>> max(lst)
1000000
>>> sum(lst)
500000500000
a.py:
print(sum(range(1, 10**6+1)))
终端:
./time python3 a.py
0.033秒,好慢啊
习题4-6
>>> lst = range(1, 20, 2)
>>> for i in lst:
... print(i)
...
1
3
5
7
9
11
13
15
17
19
习题4-9
>>> lst = [i**3 for i in range(1, 11)]
>>> for i in lst:
... print(i)
...
1
8
27
64
125
216
343
512
729
1000
这个列表解析是真的强啊
习题4-11
>>> pizza = ['liulian', 'haixian']
>>> fpizza = pizza[:]
>>> pizza.append('zhishi')
>>> fpizza.append('buyaozhishi')
>>> for i in pizza:
... print(i)
...
liulian
haixian
zhishi
>>> for i in fpizza:
... print(i)
...
liulian
haixian
buyaozhishi
Python这一点设计得不好啊,如果要复制list,必须使用[:]。而在我看来,list应该被视为一个对象,直接赋值应当是连同数据一起赋值,而不应该只复制索引。不过python既然这样规定了,那就这样咯:(