Python編程基礎(chǔ)之輸入與輸出
一、IPO模型
一個(gè)程序,按照功能可以劃分為三個(gè)部分:輸入部分、處理部分和輸出部分
本講我們學(xué)習(xí)基本輸入與輸出,通過(guò)輸入函數(shù)獲取數(shù)據(jù)(數(shù)值型和字符串),通過(guò)輸出函數(shù)將處理結(jié)果以某種方式呈現(xiàn)。處理部分會(huì)涉及到各種各樣的運(yùn)算,留待下一講學(xué)習(xí)。
?二、基本輸入 - input()函數(shù)
1、函數(shù)格式
- input(prompt=None, /)
- input(prompt='')
2、參數(shù)說(shuō)明
在IDLE里查看input函數(shù)說(shuō)明
在IPython里查看input函數(shù)說(shuō)明
(1)參數(shù)可以省略
(2)函數(shù)返回值是字符串
3、實(shí)例演示
(1)接收字符串?dāng)?shù)據(jù)
無(wú)提示信息參數(shù)
有提示信息參數(shù)
?
(2)接收整型數(shù)據(jù)
input()函數(shù)的返回值都是字符串,哪怕輸入35,返回的也是字符串'35',此時(shí)就需要用int()進(jìn)行轉(zhuǎn)換
?
(3)接收浮點(diǎn)型數(shù)據(jù)
要接收一個(gè)浮點(diǎn)數(shù),得用float()進(jìn)行轉(zhuǎn)換
?
(4)容易出現(xiàn)的錯(cuò)誤
本要接收整型數(shù)據(jù),然而輸入的是浮點(diǎn)數(shù),或者帶有字符,就會(huì)拋出ValueError信息
?本要接收浮點(diǎn)型數(shù)據(jù),然而輸入了字符串,就會(huì)拋出ValueError信息
三、基本輸出 - print()函數(shù)
1、函數(shù)格式
- print(value, …, sep=' ‘, end='\n', file=sys.stdout, flush=False)
2、參數(shù)說(shuō)明
- 在IDLE里查看print函數(shù)說(shuō)明
在IPython里查看print函數(shù)說(shuō)明
- sep:分隔符(separator)
- end:結(jié)束符
- file:文件
- flush:沖洗
3、實(shí)例演示
(1)輸出空行
不帶任何參數(shù)
輸出九九表時(shí),就要用到這一招
?
(2)輸出一個(gè)或多個(gè)對(duì)象
輸出多個(gè)對(duì)象,默認(rèn)分隔符是空格
?
(3)指定分隔符
利用參數(shù)sep指定分隔符
?
(4)指定結(jié)束符號(hào)
默認(rèn)結(jié)束符是換行符'\n'?(\n: new line)
?
(5)輸出到文件
利用file參數(shù)來(lái)指定目標(biāo)文件
課堂練習(xí):用你的英文名創(chuàng)建一個(gè)文本文件,將你的個(gè)人信息(學(xué)號(hào)、姓名、性別、年齡、專(zhuān)業(yè)、電話)寫(xiě)入該文件,然后讀取該文件內(nèi)容,最后輸出。
(6)格式輸出
采用%d、%f、%s輸出整型、浮點(diǎn)型和字符串?dāng)?shù)據(jù)
采用%e輸出科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)
采用format()函數(shù)實(shí)現(xiàn)格式化輸出
指定輸出數(shù)據(jù)的寬度以及對(duì)齊方式
以輸出整型數(shù)據(jù)為例說(shuō)明
– %nd,n表示寬度(位數(shù)),如果數(shù)據(jù)位數(shù)大于n,那么如實(shí)輸出數(shù)據(jù);如果數(shù)據(jù)位數(shù)小于n,那么輸出數(shù)據(jù)前面湊足空格。用于右對(duì)齊輸出數(shù)據(jù)。
– %-nd,n表示寬度(位數(shù)),如果數(shù)據(jù)位數(shù)大于n,那么如實(shí)輸出數(shù)據(jù);如果數(shù)據(jù)位數(shù)小于n,那么輸出數(shù)據(jù)后面湊足空格。用于左對(duì)齊輸出數(shù)據(jù)。
可以看出,采用format()函數(shù),只能實(shí)現(xiàn)右對(duì)齊,不能實(shí)現(xiàn)左對(duì)齊
(7)引申案例 - 輸出斐波拉契數(shù)列
編寫(xiě)程序 - 斐波拉契數(shù)列.py
# -*- coding: utf-8 -*- """ 功能:斐波拉契數(shù)列 作者:華衛(wèi) 日期:2020年11月7日 """ def fib(n): a, b = 1, 1 list = [] if n == 1: list.append(a) elif n == 2: list.append(a) list.append(b) else: list = [a, b] for i in range(n - 2): a, b = b, a + b list.append(b) return list print('【斐波拉契數(shù)列前30項(xiàng)】') fib1 = fib(30) print('右對(duì)齊輸出:') for i in range(30): print('%7d' % fib1[i], end='') if (i + 1) % 5 == 0: print() print('左對(duì)齊輸出:') for i in range(30): print('%-7d' % fib1[i], end='') if (i + 1) % 5 == 0: print()
運(yùn)行程序,查看結(jié)果
?
四、美觀輸出 - pprint()函數(shù)
1、pprint模塊概述
pprint 是“pretty printer”的簡(jiǎn)寫(xiě),“pretty”的含義是“漂亮的、美觀的”,即美觀的打印。這是個(gè)相當(dāng)簡(jiǎn)單卻有用的模塊,主要用于打印復(fù)雜的數(shù)據(jù)結(jié)構(gòu)對(duì)象,例如多層嵌套的列表、元組和字典等。
利用print()函數(shù)輸出列表mylist = [“Beautiful is better than ugly.”, “Explicit is better than implicit.”, “Simple is better than complex.”, “Complex is better than complicated.”]
- 整個(gè)列表一行輸出,看起來(lái)有點(diǎn)不爽。
- 使用 pprint 模塊的 pprint() 替代 print(),可以解決如下痛點(diǎn):
設(shè)置合適的行寬度,作適當(dāng)?shù)膿Q行
設(shè)置打印的縮進(jìn)、層級(jí),進(jìn)行格式化打印
判斷對(duì)象中是否有無(wú)限循環(huán),并優(yōu)化打印內(nèi)容
2、pprint()函數(shù)說(shuō)明
pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)
- 默認(rèn)的行寬度參數(shù)為 80,當(dāng)打印的字符(character)小于 80 時(shí),pprint() 基本上等同于內(nèi)置函數(shù) print(),當(dāng)字符超出時(shí),它會(huì)作美化,進(jìn)行格式化輸出。 3、實(shí)例演示 簡(jiǎn)單使用
設(shè)置縮進(jìn)為 4 個(gè)空格(默認(rèn)為1)
設(shè)置打印的行寬
設(shè)置打印的層級(jí)(默認(rèn)全打?。?br />
?五、課后作業(yè)
任務(wù):顯示成績(jī)表
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python 循環(huán)語(yǔ)句之 while,for語(yǔ)句詳解
Python中有兩種循環(huán),分別為:for循環(huán)和while循環(huán)。 for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。while 語(yǔ)句用于循環(huán)執(zhí)行程序,即在某條件下,循環(huán)執(zhí)行某段程序,以處理需要重復(fù)處理的相同任務(wù)。2018-04-04Python利用scikit-learn實(shí)現(xiàn)近鄰算法分類(lèi)的示例詳解
scikit-learn已經(jīng)封裝好很多數(shù)據(jù)挖掘的算法,這篇文章就來(lái)用scikit-learn實(shí)現(xiàn)近鄰算法分類(lèi),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-02-02Python實(shí)現(xiàn)的Excel文件讀寫(xiě)類(lèi)
這篇文章主要介紹了Python實(shí)現(xiàn)的Excel文件讀寫(xiě)類(lèi),涉及Python針對(duì)Excel常見(jiàn)的讀寫(xiě)、打印等操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07網(wǎng)絡(luò)瀏覽器中運(yùn)行Python腳本PyScript剖析
這篇文章主要為大家介紹了網(wǎng)絡(luò)瀏覽器中運(yùn)行Python腳本PyScript剖析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08spark: RDD與DataFrame之間的相互轉(zhuǎn)換方法
今天小編就為大家分享一篇spark: RDD與DataFrame之間的相互轉(zhuǎn)換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06