Python編程基礎之輸入與輸出
一、IPO模型
一個程序,按照功能可以劃分為三個部分:輸入部分、處理部分和輸出部分

本講我們學習基本輸入與輸出,通過輸入函數獲取數據(數值型和字符串),通過輸出函數將處理結果以某種方式呈現。處理部分會涉及到各種各樣的運算,留待下一講學習。

?二、基本輸入 - input()函數
1、函數格式
- input(prompt=None, /)
- input(prompt='')
2、參數說明
在IDLE里查看input函數說明

在IPython里查看input函數說明

(1)參數可以省略
(2)函數返回值是字符串
3、實例演示
(1)接收字符串數據
無提示信息參數

有提示信息參數
?
(2)接收整型數據
input()函數的返回值都是字符串,哪怕輸入35,返回的也是字符串'35',此時就需要用int()進行轉換
?
(3)接收浮點型數據
要接收一個浮點數,得用float()進行轉換
?
(4)容易出現的錯誤
本要接收整型數據,然而輸入的是浮點數,或者帶有字符,就會拋出ValueError信息

?本要接收浮點型數據,然而輸入了字符串,就會拋出ValueError信息

三、基本輸出 - print()函數
1、函數格式
- print(value, …, sep=' ‘, end='\n', file=sys.stdout, flush=False)
2、參數說明
- 在IDLE里查看print函數說明

在IPython里查看print函數說明

- sep:分隔符(separator)
- end:結束符
- file:文件
- flush:沖洗
3、實例演示
(1)輸出空行
不帶任何參數

輸出九九表時,就要用到這一招

?
(2)輸出一個或多個對象
輸出多個對象,默認分隔符是空格
?
(3)指定分隔符
利用參數sep指定分隔符
?
(4)指定結束符號
默認結束符是換行符'\n'?(\n: new line)
?
(5)輸出到文件
利用file參數來指定目標文件

課堂練習:用你的英文名創(chuàng)建一個文本文件,將你的個人信息(學號、姓名、性別、年齡、專業(yè)、電話)寫入該文件,然后讀取該文件內容,最后輸出。
(6)格式輸出
采用%d、%f、%s輸出整型、浮點型和字符串數據

采用%e輸出科學計數法表示的浮點數

采用format()函數實現格式化輸出

指定輸出數據的寬度以及對齊方式
以輸出整型數據為例說明
– %nd,n表示寬度(位數),如果數據位數大于n,那么如實輸出數據;如果數據位數小于n,那么輸出數據前面湊足空格。用于右對齊輸出數據。
– %-nd,n表示寬度(位數),如果數據位數大于n,那么如實輸出數據;如果數據位數小于n,那么輸出數據后面湊足空格。用于左對齊輸出數據。

可以看出,采用format()函數,只能實現右對齊,不能實現左對齊
(7)引申案例 - 輸出斐波拉契數列
編寫程序 - 斐波拉契數列.py

# -*- coding: utf-8 -*-
"""
功能:斐波拉契數列
作者:華衛(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('【斐波拉契數列前30項】')
fib1 = fib(30)
print('右對齊輸出:')
for i in range(30):
print('%7d' % fib1[i], end='')
if (i + 1) % 5 == 0:
print()
print('左對齊輸出:')
for i in range(30):
print('%-7d' % fib1[i], end='')
if (i + 1) % 5 == 0:
print()
運行程序,查看結果
?
四、美觀輸出 - pprint()函數
1、pprint模塊概述
pprint 是“pretty printer”的簡寫,“pretty”的含義是“漂亮的、美觀的”,即美觀的打印。這是個相當簡單卻有用的模塊,主要用于打印復雜的數據結構對象,例如多層嵌套的列表、元組和字典等。
利用print()函數輸出列表mylist = [“Beautiful is better than ugly.”, “Explicit is better than implicit.”, “Simple is better than complex.”, “Complex is better than complicated.”]

- 整個列表一行輸出,看起來有點不爽。
- 使用 pprint 模塊的 pprint() 替代 print(),可以解決如下痛點:
設置合適的行寬度,作適當的換行
設置打印的縮進、層級,進行格式化打印
判斷對象中是否有無限循環(huán),并優(yōu)化打印內容
2、pprint()函數說明
pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)- 默認的行寬度參數為 80,當打印的字符(character)小于 80 時,pprint() 基本上等同于內置函數 print(),當字符超出時,它會作美化,進行格式化輸出。 3、實例演示 簡單使用

設置縮進為 4 個空格(默認為1)

設置打印的行寬

設置打印的層級(默認全打?。?br />

?五、課后作業(yè)
任務:顯示成績表

總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!
相關文章
Python 數值區(qū)間處理_對interval 庫的快速入門詳解
今天小編就為大家分享一篇Python 數值區(qū)間處理_對interval 庫的快速入門詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Pytorch測試神經網絡時出現 RuntimeError:的解決方案
這篇文章主要介紹了Pytorch測試神經網絡時出現 RuntimeError:的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05

