在python語法中,else的不僅能與if~else構成判定語句,還可以用來與迴圈位置放在同樣的縮排位置上,對迴圈結束之後的一些額外資訊補充。如以下判斷質數的程式:
#!/usr/bin/python
# coding: utf-8
defmain
(): cnt=0
for n in range(2,24):
for x in range(2,n):
if n % x == 0:
cnt=cnt+1
print(n,'equals',x,'*',n//x)
continue
else:
if (x == n-1) and (cnt!=0):
break
else:
print(n,'is a prime number')
if __name__ =='__main__':
main()
輸出如下:
is a prime number
3is a prime number
4equals
2 * 2
6equals
2 * 3
6equals
3 * 2
8equals
2 * 4
8equals
4 * 2
9equals
3 * 3
10equals
2 * 5
10equals
5 * 2
12equals
2 * 6
12equals
3 * 4
12equals
4 * 3
12equals
6 * 2
14equals
2 * 7
14equals
7 * 2
15equals
3 * 5
15equals
5 * 3
16equals
2 * 8
16equals
4 * 4
16equals
8 * 2
18equals
2 * 9
18equals
3 * 6
18equals
6 * 3
18equals
9 * 2
20equals
2 * 10
20equals
4 * 5
20equals
5 * 4
20equals
10 * 2
21equals
3 * 7
21equals
7 * 3
22equals
2 * 11
22equals
11 * 2
loop is done!
在這裡順帶說一下常用於for迴圈中的range函式
for i in range(10) #i 從0到9以預設步長1變化
for i in range(1,10) #i 從1到9以預設步長1變化
for i in range(1,10,2) #i 從1到9以步長2變化
另外在python語句中,沒有類似於switch~case的語法,採用以下語句替代:
if expression1:
...elif expression2:
...else:
...
Python學習筆記 else的用法
在學習python前,基於對於cpp的學習,對於else的印象就是,else與if要成對出現。但是在不久前,乙個在編寫100以內求素數的程式時偶然出現的縮排 錯誤 導致了我的疑惑。如下 求100以內的素數之和.py sum 0for i in range 2 101 for j in range 2...
Python學習筆記9 else與with語句
i 1while i 5 print i i 1else print i,5 1 2345 6 5i 1for i in range 1 11 print i else print else i 123 4567 8910else 10press any key to continue.def tr...
python小細節之else
在for中未發生break,則會執行外層的else。示例 def print primer n 列印小於n的素數 素數 大於1的自然數,除了1和它本身外沒有其他的約數 param n return for x in range 2 n for y in range 2 x if x y 0 brea...