![]() 上一節(jié)課我們寫了第一個 Python 程序,并使用了輸入和輸出函數(shù) —— input 和 print。今天我們將進一步學(xué)習(xí)輸出函數(shù) print 的用法,還會學(xué)習(xí)程序的控制流程,并在此基礎(chǔ)上讓電腦為我們打印出《九九乘法表》。 print 輸出格式 print 默認輸出是換行的,如果不想換行,需要加上 end 參數(shù)來指定結(jié)束符,就像這樣:print('Hello World', end='') 前面我們通過這種方式打印一句話和你的名字:name = input('你好,請問你叫什么名字?') print('很高興認識你,', name) 今天我們會學(xué)習(xí)一種新的表達方式,我們暫時稱呼它為 “字符串格式化輸出”,上面這行代碼就可以改寫為:name = input('你好,請問你叫什么名字?') print('很高興認識你,{}'.format(name)) 字符串 '很高興認識你,{}' 中的花括號是占位符,意思是等一下這里要打印其他內(nèi)容,先占個位。至于填充什么內(nèi)容,就由字符串后的 .format( ) 中的內(nèi)容決定。 如果還想讓它喊你的名字三遍,就可以預(yù)留三個坑,然后在 format 中填充。name = input('你好,請問你叫什么名字?') print('很高興認識你,{}, {}, {}'.format(name, name, name)) 我們可以給占位符編個號,表示這個坑使用 format 函數(shù)中的第幾個參數(shù)。下面代碼的執(zhí)行效果與上面是一樣的。name = input('你好,請問你叫什么名字?') print('很高興認識你,{0}, {1}, {2}'.format(name, name, name)) 也許你已經(jīng)想到了,name 變量其實不需要寫三遍,這樣就行了!name = input('你好,請問你叫什么名字?') print('很高興認識你,{0}, {0}, {0}'.format(name)) 除此之外,我們還可以為不同的坑指定不同的效果,比如左對齊、右對齊、居中。name = input('你好,請問你叫什么名字?') print('很高興認識你,{0:<8}, {0:^8}, {0:>8}'.format(name)) 執(zhí)行效果如下: ![]() 占位符的序號和其需要的效果操作之間用冒號 : 隔開。 表示右對齊,^ 表示中間對齊。后面的數(shù)字8表示這里占了八個字符長度,你也可以改成你需要的長度。 關(guān)于 print 的格式化輸出,我們先了解到這里就可以了! 循環(huán)語句 前面的代碼都是順序執(zhí)行的,也就是執(zhí)行完第一行,再執(zhí)行第二行,直到最后一行結(jié)束。在程序中,我們還經(jīng)常使用循環(huán)來讓代碼重復(fù)執(zhí)行,先把下面的代碼執(zhí)行一遍看看。for x in range(10): print(x) 沒錯,你會看到屏幕上打印出0~9,一共十行數(shù)字。 函數(shù) range(10) 幫我們創(chuàng)建了0~9這十個數(shù)字,我們通過 for ... in ... 語句將這十個數(shù)字依次取出來,放在變量 x 中,然后再使用 print 函數(shù)把它們打印出來。 需要注意的是,第二行代碼有一些空白位置,這是因為按了 Tab 鍵。在你輸入代碼的時候,你使用的編輯器可能也已經(jīng)幫你添加上了。這個空白叫做代碼縮進,表示代碼之間的從屬關(guān)系,在這里就表示 print(x) 這行代碼是在 for 循環(huán)中被執(zhí)行的。 range 函數(shù)默認從0開始,如果想從1開始,則可以使用兩個參數(shù),分別表示開始和結(jié)束。for x in range(1, 10): print(x) 循環(huán)是可以嵌套的,也就是說,一層循環(huán)中可以包括另一層循環(huán),下一層循環(huán)中由可以包含下一層循環(huán),但建議不要嵌套太多層,不然會暈的。。。 ![]() 下面的代碼中有兩層循環(huán),第一層循環(huán)5次,第二層循環(huán)10次。第3行的 print 語句屬于第二層循環(huán),第4行的 print 則屬于第一層,可以看到代碼縮進其實是在表達這種層次關(guān)系。for x in range(5): for y in range(10): print('*', end=' ') print('') 執(zhí)行代碼,看看是不是打印出了5行10列的小星星。* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 除了 for in 循環(huán)語句,在 Python 中我們還可以使用 while 循環(huán)語句。同樣是打印0~9十個數(shù)字,使用 while 循環(huán)可以這樣來寫:x = 0 while x<10: print(x) x = x + 1 這里我們借助了 x 變量來記錄當(dāng)前的數(shù)字,緊跟 while 后面的是判斷條件,比如這里的 x<10 表示當(dāng) x 小于 10 的時候,執(zhí)行循環(huán)中的代碼。換句話說,就是當(dāng) x 大于等于 10,就跳出 while 循環(huán),此時程序就結(jié)束了。 同樣,while 循環(huán)也可以嵌套,for in 循環(huán)和 while 循環(huán)之間也可以相互嵌套。 九九乘法表 ![]() 學(xué)習(xí)完前面的內(nèi)容,我們已經(jīng)完全有能力使用 Python 來打印一張九九乘法表啦!緊不緊張,興不興奮? 你先想十分鐘,想不出來再看看我下面給的代碼。 ![]() 歡迎大家加入小編創(chuàng)建的Python行業(yè)交流群,有大牛答疑,有資源共享,有企業(yè)招人!是一個非常不錯的交流基地!群號:683380553 這里使用 for in 循環(huán)來實現(xiàn),打開編輯器輸入如下代碼,并保存為 99Table.py 文件。for i in range(1, 10): for j in range(1, i+1): print('{}*{}={:<3}'.format(j,i,i*j), end=' ') print('') 在終端執(zhí)行 python3 99Table.py,看看小九九有沒有打印出來。 ![]() 代碼說明 代碼縮進是指一行代碼開始前的空白區(qū)域,表達程序的格式框架,一個程序中可能會存在單行縮進或多行縮進??s進是程序語法的一部分,需要嚴格明確;縮進表明了代碼間的層次關(guān)系,縮進不正確會導(dǎo)致程序運行錯誤;通常使用1個Tab來縮進。 九九乘法表可以看做一個九行九列的表格,因此使用兩層循環(huán)可以很方便地實現(xiàn)。第一行代碼表示變量i的值從1到9循環(huán)執(zhí)行。 因為九九乘法表的形狀是三角形,也就是說內(nèi)容是逐行增加的,所以第二行的循環(huán)范圍從1開始,到 i+1 結(jié)束,隨著第一層循環(huán)中 i 的變化,第二層循環(huán)中的長度也會發(fā)生變化。 Python 中可以直接做數(shù)值運算,所以第三行代碼使用 i * j 來得出乘法表中的各項結(jié)果,需要注意的是可能是輸出的格式。 第四行代碼屬于第一層循環(huán),它的作用是每打印完一行就換一個新行。 |
|