Python程式結構2

2021-09-20 00:09:43 字數 3700 閱讀 7606

2023年6月28日筆記

高等數學求解及作圖軟體:mathmatica

左上九九乘法表

if __name__ == '__main__':

for i in range(1,10):

for j in range(1,11-i):

print("%d*%d=%2d" %(i,j,i*j),end=' ')

print()

上面一段**的執行結果如下:

左下九九乘法表

if __name__ == '__main__':

for i in range(1,10):

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

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

print()

上面一段**的執行結果如下:

右上九九乘法表

if __name__ == '__main__':

for i in range(1,10):

for j in range(1,i):

print(' '*7,end='')

for j in range(i,10):

print("%d*%d=%-2d" %(i,j,i*j),end=' ')

print()

上面一段**的執行結果如下:

右下九九乘法表

if __name__ == '__main__':

for i in range(1,10):

for j in range(1,10-i):

print(' '*7,end='')

for j in range(10-i,10):

print("%d*%d=%-2d" %(i,j,i*j),end=' ')

print()

上面一段**的執行結果如下:

下面兩段**的作用相同,但是推導式對資料處理更加簡單、高效。

items = 

for i in range(1,11):

items = [i for i in range(1,11)]
用**驗證推導式的高效性

import time

if __name__ == '__main__':

starttime = time.time()

list1 =

for i in range(1,10000000):

print(time.time()-starttime)

starttime = time.time()

list2 = [k for k in range(1,10000000)]

print(time.time()-starttime)

上面一段**的執行結果如下,從下面的結果可以看出速度差距為2、3倍左右,當資料量更大時,可能差距更大。:

2.5785739421844482

0.9168956279754639

多個推導式示例:

if __name__ == '__main__':

a = [i**2 for i in range(1,10)]

b = [j+1 for j in range(1,10)]

c = [n for n in range(1,10) if n % 2 == 0]

d = [letter.lower() for letter in 'abcdefghijk']

print(a,b,c,d,sep='\n')

上面一段**的執行結果如下:

[1, 4, 9, 16, 25, 36, 49, 64, 81]

[2, 3, 4, 5, 6, 7, 8, 9, 10]

[2, 4, 6, 8]

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']

示例1:如果某字母在字串中存在,則直接跳出迴圈

if __name__ == '__main__':

for letter in 'python':

if letter == 'h':

break

print(letter)

上面一段**的執行結果如下:

h

在python中,for...else結構的作用,else後面接的執行語句在for迴圈正常執行完,即不是通過break跳出的情況下才會執行。**示例如下:

if __name__ == '__main__':

for i in range(10):

if i == 5:

print("found it! i = %d"%i)

break

else:

print("no found it....")

上面一段**的執行結果如下:

found it! i = 5

有四個數字:1、 2 、3、 4,能組成多少個互不相同且無重複數字的三位數?各是多少?

if __name__ == '__main__':

result = set()

for i in range(1,5):

for j in range(1,5):

for k in range(1,5):

if len(set([i,j,k])) == 3:

result.add(i*100+j*10+k)

print(result)

print(len(result))

上面一段**的執行結果如下:

24

python 程式結構

多路分支 if語句其他 2 迴圈語句 for else語句 break,contineu,pass while迴圈 3 函式 4 返回值 5 函式文件 input gender input 請輸入性別 print 你輸入的性別是 format gender 表示這裡是新增的字串,0表示第乙個字串 s...

Python程式結構

if 條件表示式 語句1語句2 語句3.if語句1 字串的真假 只有空字串為false,其餘全為true a 字串非空 if a print 輸出為true else print 輸出為false 執行結果 輸出為true if語句2 age 19if age 16 print 去網咖 else p...

Python程式結構

條件語句 if 判斷 滿足判斷條件執行的 塊 else 不滿足判斷條件執行的 塊 if 判斷1 滿足判斷條件1執行的 塊 elif 判斷2 不滿足判斷1,滿足判斷2執行的 塊 else 不滿足所有判斷條件執行的 塊 條件語句可以巢狀 while 判斷 滿足判斷條件執行的迴圈體 continue 跳過...