我用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)
我明白了。找到了在语句中使用布尔值的信息,它引导我进行测试,直到它工作为止。
我将变量值改为True
或False
然后我加了:osdcheck=eval(osdcheck)
osdcheck='pump' + (oddpump_str) + 'or' + (evenpump_str) + 'altosd'
然后改变了我的if else语句来检查False
而不是"off">
现在像一个魅力。