Python學習筆記之else的特殊用途

2021-07-04 17:54:48 字數 1879 閱讀 4202

在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...