Python全棧工程師(for、列表)

ParisGabrielpython

 
 
Python 入門基礎
 
 
 
 

for:
用來遍歷可迭代對象的數據元素
可迭代對象是指以此獲取數據元素的對象
迭代對象包括:
字符串 str
列表 list
元組 tuple
字典 dict
語法:
for 變量列表 in 可迭代對象:函數

L = ["a", "abc", "中國", 123]
for x in L:
    print(x)
else:
    print("結束")

說明:
當循環內部使用break結束循環時,else將再也不執行而且else 能夠省略
range()函數:
range(stop) 從零開始,每次生成一個整數後加1操做,直到stop爲止(不包含stop
range(star,stop[,step])
從star開始每次生成一個整數後移動step,直到stop爲止(不包含stop,且step能夠是負數)
help(range) 查詢幫助
做用:
用來建立一個生成一系列整數的可迭代對象(也叫整數序列生成器)spa

for x in range(0, 10, 3):
    print(x)

說明:
range函數帶調用返回的對象可用於for語句來進行依次迭代取出其中的函數
for嵌套:對象

for x in range(5):
    for y in range(3):
        print(x, y, "ABC")

continue:
用於循環語句中(while、 for )再也不執行本次循環內continue以後的語句
從新開始一次新的循環blog

for x in range(10):
    if x % 2 == 0:
        continue
    print(x)

說明:
在while中直接跳到真值表達式從新判斷
在for中直接將可迭代對象內的元素綁定到下一個再次循環ci

列表 list:
列表是一種容器(一般用來儲存計算機的數據對象)
列表是能夠被改變的序列
是由一系列特定元素組成的 元素與元素之間可能沒有任何關聯關係
但他們由前後順序關係
空列表建立方式:字符串

L=[ ]
列表是可迭代對象:get

非空列表建立方式:
input

空列表:
L = []

非空列表:
L = [1, 2, 3, 4]
L = ["a", "b", "c"]
L = [1, 2, ["a", "b", "c", "d"], 3, 4]

列表的構造函數list:
list()等於空列表
list(iterable)用可迭代對象建立一個列表
列表的運算:
+ 用於拼接列表
+= 用於將右側的可迭代對象的數據追加到原列表中
* 用於生成重複列表
*=
列表的比較運算:
< <= > >= == !=
比較規則和字符串徹底相同
列表的in、notin:
判斷一個元素是否存在於列表中 若是純在返true不然false
in 和 nat in 返回值相反string

練習:
1.用for實現:
輸入一個數W表明正方形的寬度:

1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

答案:

a = int(input("plaese input at will integer:"))
for x in range(1, a + 1):
    for y in range(1, a + 1):
        print(y, end = " ")
    print()

 

改寫上上題:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9 

第一種:
a = int(input("plaese input at will integer:")) for x in range(1, a + 1): for y in range(x, a + x): print("0%2d" % y, end = " ") print()
第二種:
a = int(input("plaese input at will integer:"))
for x in range(1, a + 1):
    for y in range(x, a + x):
        print(y, end = " ")
    print()

  

2.
輸入任意文字,存於列表L中,當不輸入任何內容直接回車後結束輸入
打印L列表中的內容
計算你共輸入幾行內容、和多少個字符

答案:

L = []
i = 0
while True:
    a = input("plaese input at will string:")
    if a == "":
        break
    i += len(a)
    L += [a]
print('''
L = : %s
you have entered:%d row
%d Entries character
    ''' % (L, len(L), i))

3.
輸入一個整數 (表明樹幹高度)
打印出以下一顆樹
輸入:2
 *
***
 *
 *

輸入3
  *
 ***
*****
  *
  *
  *

答案:

a = int(input("plaese input at will integer:"))
for x in range(1, a * 2, 2):
    print(("*" * x).center(a * 2))
else:
    for s in range(1, a * 2, 2):
        print("*".center(a * 2))

4.
任意輸入一個整數 判斷這個數是不是素數(prime)
素數也叫質數,是隻能被1和自身整除的數:
如:2 3 5 7 11 等
提示:
用排除法:判斷x是不是素數是,只要讓x分別除以:2 3 4 5 ...-1
只要整除了 那x不是素數,不然x是素數

答案:

a = int(input("plaese input at will integer:"))
for x in range(2, a):
    if a % x == 0:
        s = "it's not a prime"
        break
    else:
        s = "This is a prime"
print(s

5.
算出100 ~ 1000之內的水仙花數(naricissistic)
水仙花數是指百位的3次方 加上十位的3次方 加上各位的3次方等於原數的數
153=1**3+5**3+3**3 153 370

答案:

for x in range(100, 1000):
    if (x // 100) ** 3 + ((x % 100) // 10) ** 3 + (x % 10) ** 3 == x:
        print(x)

相關文章
相關標籤/搜索