學習python 第四天

2021-09-22 23:13:02 字數 3241 閱讀 9050

python 迴圈結構

迴圈結構可以輕鬆的控制某件事重複、再重複的發生。在python中構造迴圈結構有兩種做法,一種是for-in迴圈,一種是while迴圈。

for-in迴圈

如果明確的知道迴圈執行的次數或者是要對乙個容器進行迭代(後面會講到),那麼我們推薦使用for-in迴圈

"""

用for迴圈實現1~100求和

"""sum = 0

for x in range(101):

sum += x

print(sum)

sum = 0

for x in range(101): # range(101) 類似 range(0,101,1)

print(x) #注意縮緊 4個空格 展示的是從0到100的數字

需要說明的是上面**中的range型別,range可以用來產生乙個不變的數值串行,而且這個序列通常都是用在迴圈中的,例如:

range(101)可以產生乙個0到100的整數序列。

range(1, 100)可以產生乙個1到99的整數序列。

range(1, 100, 2)可以產生乙個1到99的奇數序列,其中的2是步長,即數值串行的增量。

"""

用for迴圈實現1~100之間的偶數求和

"""sum = 0

for x in range(2, 101, 2):

sum += x

print(sum)

也可以通過在迴圈中使用分支結構的方式來實現相同的功能,**如下所示。

"""用for迴圈實現1~100之間的偶數求和

"""sum = 0

for x in range(1, 101):

if x % 2 == 0:

sum += x

print(sum)

while迴圈

如果要構造不知道具體迴圈次數的迴圈結構,我們推薦使用while迴圈,while迴圈通過乙個能夠產生或轉換出bool值的表示式來控制迴圈,表示式的值為true迴圈繼續,表示式的值為false迴圈結束。

「」"猜數字遊戲

計算機出乙個1~100之間的隨機數由人來猜

計算機根據人猜的數字分別給出提示大一點/小一點/猜對了

「」"import random

answer = random.randint(1, 100)

counter = 0

while true:

counter += 1

number = int(input('請輸入: '))

if number < answer:

print(『大一點』)

elif number > answer:

print(『小一點』)

else:

print(『恭喜你猜對了!』)

break

print(『你總共猜了%d次』 % counter)

if counter > 7:

print(『你的智商餘額明顯不足』)

break關鍵字來提前終止迴圈,break只能終止它所在的那個迴圈, 這一點在使用巢狀的迴圈結構需要引起注意。

continue,它可以用來放棄本次迴圈後續的**直接讓迴圈進入下一輪。

和分支結構一樣,迴圈結構也是可以巢狀的,也就是說在迴圈中還可以構造迴圈結構。下面的例子演示了如何通過巢狀的迴圈來輸出乙個九九乘法表。

"""

輸出乘法口訣表(九九表)

"""for i in range(1, 10):

for j in range(1, i + 1):

print('%d*%d=%d' % (i, j, i * j), end='\t')

print()

"""輸入乙個正整數判斷它是不是素數]

"""from math import sqrt

num = int(input('請輸入乙個正整數: '))

end = int(sqrt(num))

is_prime = true

for x in range(2, end + 1):

if num % x == 0:

is_prime = false

break

if is_prime and num != 1:

print('%d是素數' % num)

else:

print('%d不是素數' % num)

"""輸入兩個正整數計算最大公約數和最小公倍數

version: 0.1

author: 駱昊

date: 2018-03-01

"""x = int(input('x = '))

y = int(input('y = '))

if x > y:

x, y = y, x

for factor in range(x, 0, -1):

if x % factor == 0 and y % factor == 0:

print('%d和%d的最大公約數是%d' % (x, y, factor))

print('%d和%d的最小公倍數是%d' % (x, y, x * y // factor))

break

"""*

*****

****

********

*******

*****

****

*****

*******

*********

row = int(input('請輸入行數: '))

for i in range(row):

for _ in range(i + 1):

print('*', end='')

print()

for i in range(row):

for j in range(row):

if j < row - i - 1:

print(' ', end='')

else:

print('*', end='')

print()

for i in range(row):

for _ in range(row - i - 1):

print(' ', end='')

for _ in range(2 * i + 1):

print('*', end='')

print()

Python學習 第四天

map函式可以對序列中個每個值進行某種批量轉化操作,然後將結果作為迭代器iterator返回,迭代器可以利用for迴圈或者next 函式來訪問每個值。map函式接收兩個引數,乙個是函式f,乙個是iterator,map在iterable的每個元素上依次執行函式f,並把結果作為新的iterator迭代...

學習python,第四天

echo 內容 a 將內容放到檔案裡 ls lh a 會覆蓋原有內容 echo a 追加到末尾 不會覆蓋原有內容 管道 ls lha more shutdown關機 shutdown now立刻關機 shutdown r重啟 shutdown c取消 shutdown 10 00十點關機 shutd...

python學習第四天

在python中可以用r 來表示字串,內部的字串預設不轉譯。空值 空值是python裡乙個特殊的值,用none表示。none不能理解為0,因為0是有意義的,而none是乙個特殊的空值。除法,得到整數值 除法,得到餘數 除法,得到浮點數 unicode編碼 utf 8 編碼 python提供ord 函...