Python九九乘法表的七種實現(xiàn)方式詳解
前言
九九乘法表是初學(xué)者學(xué)習(xí)編程的必要練手題目之一,因此各種語言都有對應(yīng)的實現(xiàn)方式,而 Python 也不例外。在 Python 中,我們可以使用多種方式來生成一個簡單的九九乘法表。
實現(xiàn)方式一:雙重循環(huán) for-for
這種方式使用雙重 for
循環(huán),外循環(huán)控制行數(shù),內(nèi)循環(huán)負責(zé)每一行輸出的列。
# 雙重循環(huán) for-for # 使用 for 循環(huán)遍歷 1 到 9 中的每個數(shù)字 for i in range(1, 10): # 使用嵌套的 for 循環(huán)遍歷 1 到 i+1 中的每個數(shù)字 for j in range(1, i+1): # 打印一個形如 j × i = i*j 的字符串,并以制表符結(jié)尾,不換行 print(f'{j}x{i}={i*j}\t', end='') # 打印一個空行,以實現(xiàn)乘法口訣表的垂直排列 print()
實現(xiàn)方式二:雙重循環(huán) while-while
與方式一類似,這種方式使用雙重循環(huán),但使用 while 循環(huán)來代替 for
循環(huán)來實現(xiàn)。
# 雙重循環(huán) while-while i = 1 # 初始化變量i為1 while i <= 9: # 循環(huán)條件為i小于等于9 j = 1 # 每次循環(huán)時初始化變量j為1 while(j <= i): # j的大小由i來控制,當(dāng)j小于等于i時循環(huán) print(f'{i}*{j}={i*j}', end='\t') # 打印i與j的積及格式化后的字符串,末尾不換行 j += 1 # j自增1,進行下一次循環(huán) print('') # 一行的j乘以i的結(jié)果打印完成,將光標(biāo)移動到下一行 i += 1 # i自增1,進行下一次循環(huán)
實現(xiàn)方式三:循環(huán)嵌套 while-for
這種實現(xiàn)方式與方式一類似,只是使用 while 和 for 循環(huán)混合使用,通過 range()
函數(shù)來控制循環(huán)次數(shù)。
# 循環(huán)嵌套 while-for i = 1 # 初始化變量i為1 while i <= 9: # 循環(huán)條件為i小于等于9 for j in range(1, i+1): # 使用for循環(huán),j的范圍是[1,i] print(f'{i}*{j}={i*j}', end=' ') # 打印i與j的積及格式化后的字符串,末尾以空格分隔 i += 1 # i自增1,進行下一次循環(huán) print() # 一行的j乘以i的結(jié)果打印完成,將光標(biāo)移動到下一行
實現(xiàn)方式四:循環(huán)嵌套 for-while
這種實現(xiàn)方式同樣是使用嵌套循環(huán),但是使用 for
和 while
來代替方式三的兩個 while
循環(huán)。
# 循環(huán)嵌套 for-while for i in range(1, 10): # 使用for循環(huán),i的范圍是[1,9] j = 0 # 每次循環(huán)時初始化變量j為0 while j < i: # 當(dāng)j小于i時循環(huán) j += 1 # j自增1,進行下一次循環(huán) print(f"{i}*{j}={i*j}", end=' ') # 打印i與j的積及格式化后的字符串,末尾以空格分隔 print() # 一行的j乘以i的結(jié)果打印完成,將光標(biāo)移動到下一行
實現(xiàn)方式五:定義一個變量 a
這種實現(xiàn)方式中,我們定義了一個列表變量 a,然后使用嵌套循環(huán)來輸出九九乘法表。
# 使用列表變量 a = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 初始化數(shù)組 for i in a: # 使用for循環(huán),遍歷數(shù)組a中的元素 j = 1 # 每次循環(huán)時初始化變量j為1 while j <= i: # j的大小是由i來控制的,當(dāng)j小于等于i時循環(huán) print(f'{i}*{j}={i*j}', end='\t') # 打印i與j的積及格式化后的字符串,末尾以制表符分隔 j += 1 # j自增1,進行下一次循環(huán) print() # 一行的j乘以i的結(jié)果打印完成,將光標(biāo)移動到下一行
實現(xiàn)方式六:使用遞歸函數(shù)
這種實現(xiàn)方式使用遞歸函數(shù),控制九九乘法表的行數(shù)和列數(shù)。
# 使用遞歸函數(shù) def multiplication(n): if n < 10: # 如果n小于10,則進行遞歸調(diào)用 for m in range(1, n+1): # 使用for循環(huán),m的范圍是[1,n] print(f"{m}*{n}={m*n}", end="\t") # 打印m與n的積及格式化后的字符串,末尾以制表符分隔 print() # 一行的m乘以n的結(jié)果打印完成,將光標(biāo)移動到下一行 multiplication(n+1) # 遞歸調(diào)用函數(shù),將n自增1,進行下一次循環(huán) multiplication(1) # 調(diào)用multiplication函數(shù),n初始化為1
實現(xiàn)方式七:一行語句實現(xiàn)
這種實現(xiàn)方式使用了 Python 的強大內(nèi)置函數(shù) join()
和 range()
函數(shù),將代碼簡化為了一行語句。
# 一行語句實現(xiàn) print('\n'.join([' '.join([f"{j}x{i}={i*j}" for j in range(1, i + 1)]) for i in range(1, 10)])) ''' print('\n'.join([ # 將每一行的結(jié)果都以換行符連接在一起,并打印輸出 ' '.join([ # 將每個 i*j 的結(jié)果都以空格連接在一起,形成一行字符串,用于存放當(dāng)前行的所有結(jié)果 f"{j}x{i}={i*j}" for j in range(1, i + 1) # 使用列表生成式,將每一個 i*j 的結(jié)果都格式化為字符串 ]) for i in range(1, 10) # 使用列表生成式,遍歷每一行的乘數(shù),i 的范圍為 [1, 9] ])) '''
總結(jié)
以上就是七種 Python 實現(xiàn)九九乘法表的方式。這些方式各有優(yōu)缺點,但無論哪種方式,都能夠幫助初學(xué)者熟悉 Python 的編碼語法和邏輯思維,更好的理解 Python 的基本數(shù)據(jù)類型、控制語句等內(nèi)容。
對于初學(xué)者,建議先從雙重循環(huán)的方式著手,并逐漸嘗試其他幾種方法;對于需要高效完成任務(wù)的專業(yè)人士,可以考慮使用一行語句實現(xiàn)的方式。
到此這篇關(guān)于Python九九乘法表的七種實現(xiàn)方式的文章就介紹到這了,更多相關(guān)Python九九乘法表實現(xiàn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用python模塊plotdigitizer摳取論文圖片中的數(shù)據(jù)實例詳解
這篇文章主要介紹了使用python模塊plotdigitizer摳取論文圖片中的數(shù)據(jù),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03python之tensorflow手把手實例講解斑馬線識別實現(xiàn)
目前智慧城市的發(fā)展,人們生活處處有科技,比如人臉識別,智慧交通,無人駕駛等前沿的科技產(chǎn)品也都融入了人們生活中;本篇文章帶你從頭開始實現(xiàn)斑馬線識別2021-09-09Python將CSV文件轉(zhuǎn)化為HTML文件的操作方法
很多朋友問小編Python如何將CSV文件轉(zhuǎn)化為HTML文件,csv文件讀取怎么操作呢?帶著這些問題一起通過本文學(xué)習(xí)吧2021-06-06Python 詳解通過Scrapy框架實現(xiàn)爬取CSDN全站熱榜標(biāo)題熱詞流程
Scrapy是用純Python實現(xiàn)一個為了爬取網(wǎng)站數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架,用途非常廣泛,框架的力量,用戶只需要定制開發(fā)幾個模塊就可以輕松的實現(xiàn)一個爬蟲,用來抓取網(wǎng)頁內(nèi)容以及各種圖片,非常之方便2021-11-11使用python svm實現(xiàn)直接可用的手寫數(shù)字識別
這篇文章主要介紹了使用python svm實現(xiàn)直接可用的手寫數(shù)字識別,現(xiàn)在網(wǎng)上很多代碼是良莠不齊,真是一言難盡,于是記錄一下,能夠運行成功并識別成功的一個源碼2021-08-08