視頻位置:102:50
for
循環遍歷集合中所有的項,一個集合可以是字符串,列表(數組)或範圍對象(range)
for a in 'pyth':
print(a)
for b in ['mash','john','jack']:
print(b)
for c in [1,2,3]:
print(c)
輸出如下:
p
y
t
h
mash
john
jack
1
2
3
range功能,range(5)會輸出0,1,2,3,4,
for a in range(3): #for最後由冒號別忘了
print(a)
for b in range(8,10):
print(b)
for c in range(2,9,2): #步數是2
print(c)
輸出如下:
0
1
2
8
9
2
4
6
8
小練習,計算3個商品的價格,
price = [10,20,30]
我的程序如下:
price = [10,20,30]
a = 0
for b in price:
a = a + b
print(a)
視頻主的程序類似。
接下來,嵌套循環
for x in range(4):
for y in range(3): #當x=0時,y分別爲0,1,2
print(f"({x},{y})")
(0,0)
(0,1)
(0,2)
(1,0)
(1,1)
(1,2)
(2,0)
(2,1)
(2,2)
(3,0)
(3,1)
(3,2)
小挑戰,花一個F形
xxxxx
xx
xxxxx
xx
xx
我的程序如下:
for y in [5,2,5,2,2]:
print('x' * y)
視頻主說:如果你想作弊,就可以用數字乘字符串,這不是我想讓你做的。額,好吧。
numbers = [5,2,5,2,2]
for a in numbers:
output = ''
for b in range(a):
output = output + 'x' #這裏用到了字符串拼接的功能
print(output)
接下來,列表list
names = ['John','Mosh','jack','Sarh','Lucky']
# 0 1 2 3 4
print(names)
print(names[0]) #索引0號,index
print(names[-1]) #從後往前,倒着,第一號
print(names[2:])
print(names[2:4]) #不包含4,也就是2,3
輸出爲:
['John', 'Mosh', 'jack', 'Sarh', 'Lucky']
John
Lucky
['jack', 'Sarh', 'Lucky']
['jack', 'Sarh', 'Lucky']
修改列表
names = ['John','Mosh','jack','Sarh','Lucky']
# 0 1 2 3 4
names[0] = 'JOHN'
print(names)
小練習,找到列表中最大的數。
熟悉的c語言考試的感覺。我的程序如下:
numbers = [15,13,35,38,11,64,23,56,59,23,17,34]
max = 0
for i in numbers:
if max < i:
max = i
print(max)
突然想到以前學的怎麼對數組排序來?把數組重新排序。
讓我想一想…
numbers = [2,6,3,9,7,4,5]
print(numbers)
temp = 0
a = 1
b = 0
for count in range(len(numbers)-1):
print(f"第{count}大輪")
for i in range(len(numbers)-1):
print(f"第{i}小輪")
if numbers[a] > numbers[b]:
print(f"{numbers[a]}和{numbers[b]}要交換啦")
temp = numbers[a]
numbers[a] = numbers[b]
numbers[b] = temp #把前a相大小排序
print(numbers)
b = b + 1
b = 0
a = a + 1 #我這個不是冒泡,這算什麼算法呢......
print(numbers)
輸出爲:
[2, 6, 3, 9, 7, 4, 5]
第0大輪
第0小輪
6和2要交換啦
[6, 2, 3, 9, 7, 4, 5]
第1小輪
第2小輪
第3小輪
第4小輪
第5小輪
第1大輪
第0小輪
第1小輪
3和2要交換啦
[6, 3, 2, 9, 7, 4, 5]
第2小輪
第3小輪
第4小輪
第5小輪
第2大輪
第0小輪
9和6要交換啦
[9, 3, 2, 6, 7, 4, 5]
第1小輪
6和3要交換啦
[9, 6, 2, 3, 7, 4, 5]
第2小輪
3和2要交換啦
[9, 6, 3, 2, 7, 4, 5]
第3小輪
第4小輪
第5小輪
第3大輪
第0小輪
第1小輪
7和6要交換啦
[9, 7, 3, 2, 6, 4, 5]
第2小輪
6和3要交換啦
[9, 7, 6, 2, 3, 4, 5]
第3小輪
3和2要交換啦
[9, 7, 6, 3, 2, 4, 5]
第4小輪
第5小輪
第4大輪
第0小輪
第1小輪
第2小輪
第3小輪
4和3要交換啦
[9, 7, 6, 4, 2, 3, 5]
第4小輪
3和2要交換啦
[9, 7, 6, 4, 3, 2, 5]
第5小輪
第5大輪
第0小輪
第1小輪
第2小輪
第3小輪
5和4要交換啦
[9, 7, 6, 5, 3, 2, 4]
第4小輪
4和3要交換啦
[9, 7, 6, 5, 4, 2, 3]
第5小輪
3和2要交換啦
[9, 7, 6, 5, 4, 3, 2]
[9, 7, 6, 5, 4, 3, 2]
我又想到一個,這個算冒泡:
numbers = [9,6,3,8,7,4,15]
for i in range(6):
for a in range(6):
temp = 0
print(a)
if numbers[a] < numbers[a+1]:
print(f"{numbers[a]}和{numbers[a+1]}要交換了")
temp = numbers[a]
numbers[a] = numbers[a+1]
numbers[a+1] = temp
print(numbers)
print(numbers)
輸出爲:
0
1
2
3和8要交換了
[9, 6, 8, 3, 7, 4, 15]
3
3和7要交換了
[9, 6, 8, 7, 3, 4, 15]
4
3和4要交換了
[9, 6, 8, 7, 4, 3, 15]
5
3和15要交換了
[9, 6, 8, 7, 4, 15, 3]
0
1
6和8要交換了
[9, 8, 6, 7, 4, 15, 3]
2
6和7要交換了
[9, 8, 7, 6, 4, 15, 3]
3
4
4和15要交換了
[9, 8, 7, 6, 15, 4, 3]
5
0
1
2
3
6和15要交換了
[9, 8, 7, 15, 6, 4, 3]
4
5
0
1
2
7和15要交換了
[9, 8, 15, 7, 6, 4, 3]
3
4
5
0
1
8和15要交換了
[9, 15, 8, 7, 6, 4, 3]
2
3
4
5
0
9和15要交換了
[15, 9, 8, 7, 6, 4, 3]
1
2
3
4
5
[15, 9, 8, 7, 6, 4, 3]
視頻看到了121:50