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