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