检测值已返回到低于阈值,然后允许更改值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检测值已返回到低于阈值,然后允许更改值相关的知识,希望对你有一定的参考价值。
我正在尝试设计一个系统,该系统需要用户输入(来自无级调幅电位计0-100),并使用该输入来设置值,我正在寻找一种处理故障情况的好方法。 >
我需要处理系统中的错误,一旦检测到该错误,便将该值设置为零,并要求用户将输入恢复到低于阈值的较低值,然后用户才能再次根据需要增加该值。如果允许更简单的逻辑,我也希望该值返回零。
这似乎是相当普遍的软件安全逻辑,但是我一直在努力地在互联网上找到有关此问题的任何信息。 (我以为它可能与施密特触发器共享某些逻辑?)
如果您对这个问题有想法,或者知道它的名字/很高兴获得一系列资源。
我已经开发了一个简单的python程序作为示例来执行此操作,但是我确信这不是解决此问题的最可靠或最有效的方法。
# check value has returned to below 5% before allowing # increase after failure case value = 0 user_command = 0 failure_case = True while True: ## get input raw_input = input() if (raw_input == 'e'): # if input is 'e' # enter failure case failure_case = True else: try: # if input is a number user_command = int(raw_input) except: pass if (failure_case): # a failure has been detected print("Waiting for value to return to below 5") # set value to zero value = 0 # only remove the error flag once the # input value is below 5 if (user_command < 5): failure_case = False else: # no error thus set value to the user input value = user_command # print the accepted value print(value);
任何帮助将不胜感激。谢谢。
我正在尝试设计一个系统,该系统需要用户输入(来自无级调幅电位计0-100),并使用该输入来设置值,我正在寻找一种处理...的好方法。 >
答案
这是一种方法:
while True:
raw_input = input()
if raw_input == 'e':
print("Waiting for value to return to below 5")
# set value to zero
value = 0
# only remove the error flag once the
# input value is below 5
if user_command < 5:
failure_case = Falsea
elif raw_input.isnumeric():
user_command = int(raw_input)
value = user_command
print(value)
以上是关于检测值已返回到低于阈值,然后允许更改值的主要内容,如果未能解决你的问题,请参考以下文章