自從看了一些python的一些基礎語言之後,發現python這門語言還是蠻有趣啊,很多計算用python效率還是蠻高啊,幾行就搞定了。比方說輸出100以內的奇數,用其他語言,可能都是先for迴圈遍歷100以內的數,然後與2整除,餘數不為零的就是基數,用python的話,也可以,如下:
li = #初始化乙個表
for i in range(100):
if (i % 2 != 0):
print(li)
然後就可以輸出100以內的奇數。這種方法是慣常的做法,也不是很難。。不過我發現python還有倆種方式來實現。
一種就是python的乙個高階特性「切片」,**:
print(list(range(100))[1::2])
生成如下:
**含義呢,也就是先把100以內的數放入list列表中,然後從1開始所有的數中,每倆個數取乙個,方括號中的1表示從1開始,倆個冒號中前乙個表示截止範圍,後乙個表示每幾個數取乙個。還可以這樣:
print(list(range(100))[1:100:2])
如果是取從7到89之間所有的偶數,如下:
print(list(range(100))[8:89:2])
哈哈,就是這麼簡單,一句話就搞定。不過還有一種高特性來輸出,就是列表表示式,也是一句話,**如下:
print([x for x in range(100) if x % 2 != 0])
也可以一句話就輸出,也很簡單,不過這是把列表常規寫法簡化了一下。不過寫到這裡了,我想到了python的另一種表示式「生成器表示式」,這也可以實現,**如下:
lk =
g=(x for x in range(100) if x % 2 != 0)
for i in g:
print(lk)
這和列表的區別是,列表表示式釋放括號「」,直接生成的就是乙個列表,而生成器表示式是圓括號「()」,生成的是乙個新的生成器表示式,還需要遍歷輸出出來。不過生成器表示式比列表表示式比較好的一點,就是省記憶體。 輸出50以內的所有奇數
輸出50以內的所有奇數,題目很簡單,編寫的 也不複雜,寫看看我用的幾種方法,再談下我想表達的內容,就一目了然!方法一 count 0while count 50 if count 2 0 print count,end count 1列印結果 135 791113 1517 1921 2325 27...
python(2)輸出100以內的素數
方法 一 100以內素數 import math 如同c 中的 include defprime n 定義帶乙個引數n的函式 number 定義空陣列用來記錄位置上的數是素數true,不是false prime number 定義空陣列用來儲存素數 for i in range 0,n,1 遍歷0到...
Python實踐 7 輸出100以內的所有素數
1 輸出100以內的所有素數,素數之間以乙個空格區分 注意,最後乙個數字之後不能有空格 2 i 2 3 l 4while i 100 5 k 0 6for j in range 2 i 7if i j 0 8 k k 1 9if k 0 10 11 i i 1 12 print join str i...