Python之根據輸入引數計算結果案例講解

2022-09-25 08:00:12 字數 2682 閱讀 7163

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萬元的部分,可...