define function,calculate the input parameters and程式設計客棧 return the result.
匯入需要的依賴庫和日誌輸出配置
# -*- coding: utf-8 -*-
"""@author :葉庭雲
@*** :修煉python
@csdn :
"""import numpy as np
import logging
logging.basicconfig(level=logging.info, format='%(asctime)s - %(levelname)s: %(message)s')
生成資料
def generate_fake_data():
""":params: 無
:return: 無
:function:如果沒有傳入檔案路徑 隨機生成10*10 值的範圍在[6, 66]之間的隨機整數陣列
存入txt以供後續讀取資料和測試
"""# 建立乙個 10*10均值為8,標準差為1的正態分佈的隨機數陣列
# data = np.random.normal(8, 1, (10, 10))
# 建立乙個 10*10 值的範圍在[6, 66]之間的隨機整數陣列
data = np.random.randint(6, 66, (10, 10))
print(data)
with open("./data/random_data.txt", "w") as f:
for i in data:
for j in i:
f.write(str(j) + '\t')
f.write("\n")
載入資料並計算,返回結果。
def load_data_and_calculate(point1, point2, operation,
file="./data/random_data.程式設計客棧txt"):
""":param file: 檔案路徑 為預設引數:在呼叫函式時可以傳 也可以省去的引數,如果不傳將使用預設值測試
:param point1: 第乙個資料的行列索引 元組型別
:param point2: 第二個資料的行列索引 元組型別
:param operation: 運算子
:return: 運算後的結果
"""if file == "./data/random_data.txt": # 還是預設引數的話 說明沒有傳入檔案路徑
generate_fake_data()
else:
pass
data = np.fromfile(file, sep='\t', dtype=np.float32) # 讀取txt資料 numpy的fromfile方法
new_data = data.reshape([10, 10]) # (100,)reshape為(10, 10) 10行10列
priwww.cppcns.comnt(new_data)
# 根據索引獲取到二維陣列中的兩個資料 捕獲可能的索引越界異常
num1, num2 = none, none
try:
num1 = new_data[point1[0]][point1[1]]
num2 = new_data[point2[0]][point2[1]]
print(f"根據行列索引獲取到的兩個數為: ") # 列印檢視
except indexerror:
logging.info(f"行列索引超出資料集邊界,當前資料集形狀為:")
# 進行運算 捕獲可能的異常
try:
# eval函式 返回傳入字串的表示式的結果
result = eval(f"")
print(f"result: = \n")
return result
except zerodivisionerror:
logging.error(f"除數num2不能為零!")
except syntaxerror:
if operator in ['x', 'x']:
logging.error(f"乘法運算時請使用 * 代替 ")
程式設計客棧 else:
logging.error(f"輸入的運算子非法:()")
傳入引數,呼叫函式。
file_path = "./data/testdata.txt"
# 輸入第乙個資料行列索引
x1, y1 = map(int, input("請輸入第乙個資料行列座標(如: 6,8):").split(','))
# 輸入第二個資料行列索引
x2, y程式設計客棧2 = map(int, input("請輸入第乙個資料行列座標(如: 3,5):").split(','))
# 輸入運算符號
operator = input("請輸入運算子(如+、-、*、/、//、%...):")
# 傳入實參
my_result = load_data_and_calculate((x1, y1), (x2, y2), operator, file_path)
# 保留兩位小數輸出
print("進行 {} 運算後,結果為:".format(operator, my_result))
結果如下:
Python 建立能根據輸入計算BMI指數的函式
身體質量指數bmi是根據人的題中和身高計算得出,計算公式為 bmi weight hight 2,其中體重為公斤,身高為公尺。使用者輸入體重和身高後,計算bmi並根據指數範圍,定義當前健康狀態 18 25之間為正常,小於該範圍為偏瘦,大於該範圍為偏胖。將bmi 指數和其所代表狀態輸出。def bmi...
postman根據引數自動計算簽名
在介面對接的時候,有些加密規則是把post傳遞的內容進行某演算法然後進行加密,甚至於大部分演算法需要傳入時間戳,有的時間戳還有時間限制,為我們對接介面產生了很大的不方便之處。為此,特意研究了下,postman中怎樣自動根據引數計算簽名。我的加密規則是對user str的內容拼接上乙個平台分配的key...
python根據利潤計算獎金
coding utf 8 簡述 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於40萬元的部分,可...