Язык : Python
Я хочу, чтобы значение переменной было инициализировано нулем в начале выполнения. Эта переменная используется в функции, и ее значение также может быть изменено внутри функции. Но я не хочу, чтобы значение этой переменной сбрасывалось на ноль при каждом вызове функции. Вместо этого его значение должно быть равно обновленному значению предыдущего вызова функции.
Пример:
get_current()
постоянно возвращает другое значение, когда оно вызывается.
ctemp
изначально равен нулю.
При первом вызове функции get_current_difference()
вернет cdiff
и затем обновит значение ctemp
так, что ctemp = current
.
Во втором вызове функции значение ctemp
не должно быть равно нулю. Вместо этого оно должно быть равно обновленному значению первого вызова функции.
import serial
arduino = serial.Serial('/dev/ttyACM1',9600)
ctemp = 0
def get_current():
line = arduino.readline()
string = line.replace('\r\n','')
return string
def get_current_difference():
global ctemp
current = get_current()
cdiff = float(current) - ctemp
return cdiff
ctemp = current
while 1:
current = get_current_difference()
print(current)