Chapter 4 迴圈敘述 Loop

4-2 For Loop

4-2-1. for x in range(start,end,step)
當  start ≦  x  ≦ end-1,   間距是 step,  反覆執行指令。
必要值: end        預設start=0      預設step=1  
#範例4-2-1
#using for statement
for i in range(1,13,2):
print(i, end=' ')
print()
for j in range(1,6):
print(j, end=' ')
print()
for k in range(8):
print(k, end=' ')
print()
for m in range(10,28,3):
print(m, end=' ')
1 3 5 7 9 11 
1 2 3 4 5
0 1 2 3 4 5 6 7
10 13 16 19 22 25
計算1到100的總和。
#範例4-2-2
total=0
for i in range(1,101,1):
total +=i
print('sum of 1 to 100 is', total)
呼叫random模組, 產生六個大樂透號碼。

 

常用的內置模塊有 math, re, random, datetime, urllib。
#範例4-2-3
import random
print('your lotto number is: ')
for i in range(6):
thenumber = random.randint(1,49)
print(thenumber, end=' ')
數學題目: 求100(含)以內的偶數和。利用for迴圈。
#範例4-2-4 求偶數和
total=0
for i in range(2,101,2):
total +=i
print('1 到 100 的偶數和=',total)
for … in 的語法 (非數字範圍)
#範例4-2-5
word = 'Python'
for i in word:
print(i)

4-2-2. break 與 continue

  1. break: 當迴圈碰到 break,會立即結束迴圈運算,直接跳至 for loop下面的指令執行。
  2. continue: 當迴圈碰到 continue,會跳過一次,迴圈繼續。
# 範例4-2-6  while  break
num=0
total=0
while num < 10:
num +=1
if num % 5 ==0:
break
else:
total +=num
print('num = %d, total = %d' %(num,total))
num = 1, total = 1
num = 2, total = 3
num = 3, total = 6
num = 4, total = 10
# 範例4-2-7  while  continue
num=0
total=0
while num < 10:
num +=1
if num % 5 ==0:
continue
else:
total +=num
print('num = %d, total = %d' %(num,total))
num = 1, total = 1
num = 2, total = 3
num = 3, total = 6
num = 4, total = 10
num = 6, total = 16
num = 7, total = 23
num = 8, total = 31
num = 9, total = 40

4-2-3. 巢狀迴圈

迴圈內又有迴圈 。
# 範例4-2-8 巢狀迴圈
for i in range(1,10):
for j in range(1,10):
print('%3d'%(i*j), end=' ')
print()

4-2-4. Case Study 個案研究 : 九九乘法表

以下的程式可以產出九九乘法表的效果

# 範例4-2-9 巢狀迴圈
for i in range(1,10):
for j in range(1,10):
print('%d*%d=%2d ' %(i,j,i*j), end=' ')
print()