使用前面代码部分中定义的变量创建变量的别名



我用python编程才1.5年,这是我第一次寻求现场帮助。我通常会梳理大量的资源,直到我自己找到问题的答案,而不是别人告诉我怎么做。但这似乎难倒了我,它可能是一些愚蠢的简单。所以请温柔一点。

我需要创建一个别名变量定义在我的代码的第一部分,将用于检查原始变量的值在一个if else场景,并创建一个新的变量被注入到rtsp字符串稍后作为屏幕上显示消息。

员工输入号码。示例:1 "Line 4"然后根据输入的数字,程序决定应该为检查创建哪些数字;第6行到第24行;然后这就是我遇到问题的地方程序生成正确版本的osd "第27行到第35行;然后程序运行其他代码,并在需要的地方注入osdmsg。

程序的所有其他方面都正常运行,但如果不创建新变量"osdcheck"该值与我想要别名的变量名称相同。

实际输出

奇数泵= 1
偶数泵= 2
pump1or2altosd
1 <——|——>2

所需输出

奇数泵= 1
偶数泵= 2
pump1or2altosd
2 <——|——>1

pump1or2altosd = "off"
pump3or4altosd = "on"
pumpnumber = 1
if (pumpnumber % 2) == 0:
evenpump=pumpnumber
evenpump_str=str(pumpnumber)
print("Even Pump =", evenpump)
evenpump-=1
evenpumpminus1=evenpump
oddpump=evenpumpminus1
oddpump_str=str(evenpumpminus1)
print("Odd Pump =", oddpump)
else:  
oddpump=pumpnumber
oddpump_str=str(pumpnumber)
print("Odd Pump =", oddpump)
oddpump+=1
oddpumpplus1=oddpump
evenpump=oddpumpplus1
evenpump_str=str(oddpumpplus1)
print("Even Pump =", evenpump)
osdcheck='pump' + (oddpump_str) + 'or' + (evenpump_str) + 'altosd'
#osdcheck = 'pump{}or{}altosd'.format(oddpump_str, evenpump_str)
print(osdcheck)
if osdcheck == "off" :
#if 'pump{}or{}altosd'.format(oddpump_str, evenpump_str) == "off" :
osdmsg = ((evenpump_str) + "     <---|--->     " + (oddpump_str))
else:
osdmsg = ((oddpump_str) + "     <---|--->     " + (evenpump_str))    
print(osdmsg)

我明白了。找到了在语句中使用布尔值的信息,它引导我进行测试,直到它工作为止。

我将变量值改为TrueFalse

然后我加了:
osdcheck=eval(osdcheck)
osdcheck='pump' + (oddpump_str) + 'or' + (evenpump_str) + 'altosd'

然后改变了我的if else语句来检查False而不是"off">
现在像一个魅力。