a=int(input())
10年積累的成都做網(wǎng)站、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有柳北免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
b=int(input())
c=int(input())
e=a+b+c
r=(a+b+c)/3
print("%d,%.2f" %(e,r))
用input讀入的是字符串,要調(diào)用int函數(shù)轉(zhuǎn)換成整數(shù)。
print函數(shù)也錯(cuò)了,用+進(jìn)行的是字符串的連接。
擴(kuò)展資料:
Python的函數(shù)支持遞歸、默認(rèn)參數(shù)值、可變參數(shù),但不支持函數(shù)重載。為了增強(qiáng)代碼的可讀性,可以在函數(shù)后書寫“文檔字符串”(Documentation Strings,或者簡(jiǎn)稱docstrings),用于解釋函數(shù)的作用、參數(shù)的類型與意義、返回值類型與取值范圍等??梢允褂脙?nèi)置函數(shù)help()打印出函數(shù)的使用幫助。
參考資料來(lái)源:百度百科-Python
用openpyxl模塊讀取excel中的公式結(jié)果。代碼如下:
import?openpyxl
wb=?openpyxl.load_workbook('sogou.xlsx',data_only=True)
python中使用h5py對(duì)HDF5文件進(jìn)行操作。
1、創(chuàng)建文件和數(shù)據(jù)集
import h5py
import numpy as np
imgData = np.zeros((2,4))
f = h5py.File('HDF5_FILE.h5','w') #創(chuàng)建一個(gè)h5文件,文件指針是f
f['data'] = imgData #將數(shù)據(jù)寫入文件的主鍵data下面
f['labels'] = np.array([1,2,3,4,5]) #將數(shù)據(jù)寫入文件的主鍵labels下面
f.close() #關(guān)閉文件
f = h5py.File('HDF5_FILE.h5','r') #打開(kāi)h5文件
for key in f.keys():
print(f[key].name)
print(f[key].shape)
print(f[key].value)
輸出結(jié)果:
/data
(2, 4)
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
/labels
(5,)
[1 2 3 4 5]
Process finished with exit code 0
寫入讀取pkl文件
1)字典類型:
import pickle
dict_data={'name':["張三","李四"]}
with open("dict_data.pkl","wb") as fo:
pickle.dump(dict_data,fo)
with open("dict_data","rb") as fo:
dict_data=pickle.load(fo,encoding='bytes')
print(dict_data.keys())
print(dict_data)
print(dict_data["name"])
結(jié)果如下:
dict_keys(['name'])
{'name': ['張三', '李四']}
['張三', '李四']
2)列表類型
import pickle
list_data=["張三","李四"]
with open ("list_data","wb") as fo:
pickle.dump(list_data,fo)
with open("list_data","rb") as fo:
pickle.load(fo,encoding='bytes')
print(list_data)
print(list_data.keys())
pirnt(list_data["name"])
mat文件
mat數(shù)據(jù)格式是Matlab的數(shù)據(jù)存儲(chǔ)的標(biāo)準(zhǔn)格式。在Matlab中主要使用load()函數(shù)導(dǎo)入一個(gè)mat文件,使用save()函數(shù)保存一個(gè)mat文件。對(duì)于文件data.mat:
load(‘data.mat')
save('data_1.mat','A')
其中'A’表示要保存的內(nèi)容。
在python讀取mat文件:
1、讀取文件:
import scipy.io as scio
file1='E://data.mat'
data=scio.loadmat(file1)
注意,讀取出來(lái)的data是字典格式,可以通過(guò)函數(shù)type(data)查看。
print type(data)
結(jié)果顯示
type 'dict'
找到mat文件中的矩陣:
print data['A']
結(jié)果顯示
通過(guò)關(guān)鍵字def來(lái)創(chuàng)建函數(shù),def的作用是實(shí)現(xiàn)python中函數(shù)的創(chuàng)建
函數(shù)定義過(guò)程:
函數(shù)名+()小括號(hào)執(zhí)行函數(shù)
函數(shù)體內(nèi)對(duì)全局變量只能讀取,不能修改
局部變量,無(wú)法在函數(shù)體外使用
python 使用 lambda 來(lái)創(chuàng)建匿名函數(shù)。
所謂匿名,意即不再使用 def 語(yǔ)句這樣標(biāo)準(zhǔn)的形式定義一個(gè)函數(shù)。
文件對(duì)象(open() 函數(shù)的返回值)提供了read()函數(shù)可以按字節(jié)或字符讀取文件內(nèi)容,到底是讀取字節(jié)還是字符,取決于使用 open() 函數(shù)打開(kāi)文件時(shí),是否使用了 b 模式,如果使用了 b 模式,則每次讀取一個(gè)字節(jié);反之,則每次讀取一個(gè)字符。
read() 函數(shù)的基本語(yǔ)法格式如下:
file.read([size])
其中,file 表示打開(kāi)的文件對(duì)象;size 作為一個(gè)可選參數(shù),用于指定要讀取的字符個(gè)數(shù),如果省略,則默認(rèn)一次性讀取所有內(nèi)容。
【例 1】采用循環(huán)讀取整個(gè)文件的內(nèi)容。
# a.txt 文件內(nèi)容為:C語(yǔ)言中文網(wǎng)
f = open("a.txt", 'r', True)
while True:
# 每次讀取一個(gè)字符
ch = f.read(1)
# 如果沒(méi)有讀到數(shù)據(jù),跳出循環(huán)
if not ch:
break
# 輸出ch
print(ch, end='')
f.close()
運(yùn)行結(jié)果為:
C語(yǔ)言中文網(wǎng)
上面程序采用循環(huán)依次讀取每一個(gè)字符(因?yàn)槌绦驔](méi)有使用 b 模式),每讀取到一個(gè)字符,程序就輸出該字符。
正如從上面程序所看到的,當(dāng)程序讀寫完文件之后,推薦立即調(diào)用 close() 方法來(lái)關(guān)閉文件,這樣可以避免資源泄露(后續(xù)章節(jié)會(huì)詳細(xì)介紹 close() 函數(shù))。
注意,在調(diào)用 read() 函數(shù)讀取文件內(nèi)容時(shí),成功讀取的前提是在 open() 函數(shù)中使用 r 或 r+ 的模式打開(kāi)文件,否則(比如將上面程序中 open()的打開(kāi)模式改為 w),程序會(huì)拋出io.UnsupportedOperation異常:
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\demo.py", line 4, in
ch = f.read(1)
io.UnsupportedOperation: not readable
【例 2】調(diào)用 read() 方法時(shí)不傳入?yún)?shù),該方法默認(rèn)會(huì)讀取全部文件內(nèi)容。例如:
f = open("a.txt", 'r', True)
# 直接讀取全部文件
print(f.read())
f.close()
運(yùn)行結(jié)果為:
C語(yǔ)言中文網(wǎng)
read()函數(shù)拋出UnicodeDecodeError異常的解決方法
當(dāng)使用 open() 函數(shù)打開(kāi)文本文件時(shí),默認(rèn)會(huì)使用當(dāng)前操作系統(tǒng)的字符集,比如 Windows 平臺(tái),open() 函數(shù)默認(rèn)使用 GBK 字符集。因此,上面程序讀取的 a.txt 也必須使用 GBK 字符集保存;否則,程序就會(huì)出現(xiàn)UnicodeDecodeError錯(cuò)誤。
如果要讀取的文件所使用的字符集和當(dāng)前操作系統(tǒng)的字符集不匹配,則有兩種解決方式:
使用二進(jìn)制模式讀取,然后用 bytes 的 decode() 方法恢復(fù)成字符串。
利用 codecs 模塊的 open() 函數(shù)來(lái)打開(kāi)文件,該函數(shù)在打開(kāi)文件時(shí)允許指定字符集。
例如,下面程序使用二進(jìn)制模式來(lái)讀取文本文件:
# 指定使用二進(jìn)制方式讀取文件內(nèi)容,a.txt 以 utf-8 編碼存儲(chǔ)
f = open("a.txt", 'rb', True)
# 直接讀取全部文件,并調(diào)用bytes的decode將字節(jié)內(nèi)容恢復(fù)成字符串
print(f.read().decode('utf-8'))
f.close()
上面程序在調(diào)用 open() 函數(shù)時(shí),傳入了 rb 模式,這表明采用二進(jìn)制模式讀取文件,此時(shí)文件對(duì)象的 read() 方法返回的是 bytes 對(duì)象,程序可調(diào)用 bytes 對(duì)象的 decode() 方法將它恢復(fù)成字符串。由于此時(shí)讀取的 a.txt 文件是以 UTF-8 的格式保存的,因此程序需要使用 decode() 方法恢復(fù)字符串時(shí)顯式指定使用 UTF-8 字符集。
下面程序使用 codes 模塊的 open() 函數(shù)來(lái)打開(kāi)文件,此時(shí)可以顯式指定字符集:
import codecs
# 指定使用utf-8 字符集讀取文件內(nèi)容
f = codecs.open("a.txt", 'r', 'utf-8', buffering=True)
while True:
# 每次讀取一個(gè)字符
ch = f.read(1)
# 如果沒(méi)有讀取到數(shù)據(jù),則跳出循環(huán)
if not ch : break
# 輸出ch
print (ch, end='')
f.close()
上面程序在調(diào)用 open() 函數(shù)時(shí)顯式指定使用 UTF-8 字符集,這樣程序在讀取文件內(nèi)容時(shí)就完全沒(méi)有問(wèn)題了。