打印循环换行_科学向日葵在线课堂 ——张老师讲Python 第八课 周而复始为循环2...
張老師講編程--和爸爸媽媽一起學Python
Python 的編輯器有很多,例如 PyCharm、Spyder、Notepad++等等,大家根據需要選擇一個就好,初期程序代碼量不大,直接使用 Python IDLE 也是很方便的。
第八課?周而復始為循環2
小伙伴們,上節課我們學習了Python中while循環語句的基本用法,我們知道了while循環語句的基本結構為:
while :
??? [語句塊]
我們用個例子來回憶一下。
例如,計算10以內整數乘法,我們編寫的代碼大致是以下的樣子:
i = 1
n = 1
while i < 10 :
??? n = n * i
??? i = i + 1
print("n=",n)
現在我們在上節課的基礎上,思考一個問題,前邊我們學習過分支語句中嵌套另一個分支語句,那么如果我們在循環語句中再嵌套一個循環語句是什么樣子呢?
我們一起完成個任務,來計算九九乘法表,如下圖所示:
為了更好地理解和編寫代碼,我們先看一下乘法口訣表的規律:
1.它是兩個10以內整數的乘積,我們可以用表達式 i*j=ij 表示,即最終打印函數為 print(i,"*",j,"=",i*j)
2.第一行i = 1;第二行i = 2;以此類推第九行i = 9,也就是說,最外邊的循環,一共9次,從1開始,每次加1,即最外層while語句為:
?????? while i <= 9 :
?????? ?????? [語句塊]
3.???? 第一行打印了1組1 * 1= 1;第二行打印了2組2 * 1 = 2 ??? 2 * 2 = 4 ;以此類推,第九行打印了9組9 * 1 = 9 ??? 9 * 2 = 18 ??? 9 * 3 = 27 ??? 9 * 4 = 36 ??? 9 * 5 = 45 ??? 9 * 6 = 54 ?? ?9 * 7 = 63 ??? 9 * 8 = 72 ??? 9 * 9 = 81;也就是說,每一行打印的組數小于等于這一行i的大小,即:第i行打印i組,換句話說,如果用循環表示,就是每一行循環的次數小于等于i。
基于這三點,我們即可以編寫以下代碼:
i = 1
while i <= 9:???
?????? j = 1
?????? while j <= i:
?????? ?????? print(i,"*",j,"=",i*j,end="?? ")
?????? ?????? j = j + 1
?????? print()
?????? i = i + 1
運行后為:
?其中,第一個print函數里邊我們使用了end=" " ,end是print函數的參數,用來描述打印函數的結束方式。我們之前學習了print函數,正常的print函數每運行一次,就會自動換行,例如:
print("123")
print(2*3)
print("hello")
運行后為:
123
6
Hello
如果我們希望,print運行后,繼續打印而不換行,就可以在print函數中加入end="",例如:
print("123",end="")
print(2*3,end="")
print("hello",end="")
運行結果為:
1236hello
如果我們將其改為end=" ",即在""中加入空格,例如:
print("123",end=" ")
print(2*3,end=" ")
print("hello",end=" ")
運行結果為:
123 6 hello
大家可以再試試將其改為end=";",即在""中加入分號,效果是什么?再看看將其改為end="\t",即在""中加入\t,看看效果是什么?
?細心的同學可能會發現我們打印的乘法口訣表有一個小問題,那就是第三列和第四列不是非常整齊,我們應當如何處理呢?
這里又用到了print函數的另一個特性,格式化輸出print函數的格式化輸出能夠為打印出來的內容提前設定一個格式,因為格式化輸出對于青少年有一定難度,我們不做詳細講解,我們就來看一下它的效果。
我們根據格式化輸出,重寫一下乘法口訣表代碼:
i = 1
while i <= 9:
??? j = 1
??? while j <= i:
??????? print("%d*%d=%-2d"%(i,j,i*j),end="\t")
??????? j = j + 1
??? print()
??? i = i + 1
我們執行以上代碼,就會出現:
是不是格式非常整潔?這就是print函數格式化輸出的作用,即print("%d*%d=%-2d"%(i,j,i*j),end="\t")一句的效果。
?在這一語句中,我們可以把print函數后邊看成由三部分組成。
1.第一部分是"%d*%d=%-2d",這一部分用來定于print函數輸出的格式,其中的%d代表任意一個格式化整數,這一句是告訴系統,讓它打印時按照這樣一個格式打印:
1位整數*1位整數=2位整數
也就是說無論乘法結果實際為1位(例如4)還是2位(例如16),系統都會預留出2位整數的位置,這樣也就確保了格式的整齊。
注意到其中-2d中的負號了嗎?猜猜它是什么意思?你可以試一下將-2變成2,看看是什么效果。
它會變成這樣:
看出區別了嗎?再仔細看看......
2.第二部分是(i,j,i*j),它是告訴系統,前邊格式中的三個%d,依次為i,j,i*j
3.第三部分是end="\t",我們在前邊已經講過,不再贅述。
因為乘法口訣表是整數之間的運算,所以我們使用了%d,實際上print函數的格式化輸出還可以用來進行其他進制數值、字符串等的格式化輸出,具體符號如下所示,其使用方式與格式化整數%d使用相近,在這里就一一講解。我們在后邊的課程中遇到具體應用時,再給大家細致講解。
好啦,今天的課程分享就到這里,讓我們下期再見吧!
公眾號ID:TJKJG2013掃碼關注最新動態總結
以上是生活随笔為你收集整理的打印循环换行_科学向日葵在线课堂 ——张老师讲Python 第八课 周而复始为循环2...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ae编程语言as_AE开发 入门教程
- 下一篇: 希奥岛的屠杀是谁画的呢?