将字符串和int转换为变量Python
我目前正在与sikuli创建一个循环。我的问题是,我有一个固定的变量,它将上升到15,只有数字在最后改变。我正在寻找一种方法来组合字符串组件,该组件固定在整数中,整数将在循环中变为变量,但一旦连接起来,就会在代码顶部将其标识为预定义变量 任何帮助都会很棒将字符串和int转换为变量Python,python,variables,sikuli-script,Python,Variables,Sikuli Script,我目前正在与sikuli创建一个循环。我的问题是,我有一个固定的变量,它将上升到15,只有数字在最后改变。我正在寻找一种方法来组合字符串组件,该组件固定在整数中,整数将在循环中变为变量,但一旦连接起来,就会在代码顶部将其标识为预定义变量 任何帮助都会很棒 Dunning1 = (Pattern("Line 1.png").similar(0.97).targetOffset(445,-2)) Balance1 = (Pattern("Line 1.png").similar(0.97).targ
Dunning1 = (Pattern("Line 1.png").similar(0.97).targetOffset(445,-2))
Balance1 = (Pattern("Line 1.png").similar(0.97).targetOffset(566,-2))
Select1 = (Pattern("Line 1.png").similar(0.97).targetOffset(38,-1))
Dunning2 = (Pattern("Line 2.png").similar(0.97).targetOffset(442,-1))
Balance2 =(Pattern("Line 2.png").similar(0.97).targetOffset(565,2))
Select2 = (Pattern("Line 2.png").similar(0.97).targetOffset(37,-1))
while n < 3:
DunningX = ("Dunning"+str(n)**
print(DunningX)**
doubleClick(DunningX)
type("c",KEY_CTRL)
doubleClick(DunningX)
type("c",KEY_CTRL)
Dunning1 = Env.getClipboard()
BalanceX = ("Balance"+str(n))
doubleClick(BalanceX)
type("c",KEY_CTRL)
doubleClick(BalanceX)
type("c",KEY_CTRL)
ContractBal = Env.getClipboard()
if Dunning1 == ContractBal:
SelectX = ("Select"+str(n))
click(SelectX)
n = n + 1
Dunning1=(模式(“Line 1.png”)。类似(0.97)。目标偏移(445,-2))
余额1=(模式(“1.png行”)。类似(0.97)。目标偏移(566,-2))
选择1=(模式(“Line 1.png”)。类似(0.97)。目标偏移(38,-1))
Dunning2=(模式(“Line 2.png”)。类似(0.97)。目标偏移(442,-1))
余额2=(模式(“第2.png行”)。类似(0.97)。目标偏移(565,2))
选择2=(模式(“Line 2.png”)。类似(0.97)。目标偏移(37,-1))
当n<3时:
邓宁x=(“邓宁”+str(n)**
打印(DunningX)**
双击(DunningX)
键入(“c”,按CTRL键)
双击(DunningX)
键入(“c”,按CTRL键)
Dunning1=Env.getClipboard()
余额x=(“余额”+str(n))
双击(平衡)
键入(“c”,按CTRL键)
双击(平衡)
键入(“c”,按CTRL键)
ContractBal=Env.getClipboard()
如果Dunning1==合同余额:
SelectX=(“选择”+str(n))
单击(选择X)
n=n+1
我不确定是否完全理解您的问题,但我认为您正在寻找以下信息:
if some_condition:
Select1 = "Select"+str(n)
else
Select2 = "Select"+str(n)
无论如何,请考虑使用一个列表,因为使用单个变量根本不可伸缩。
select = []
select.append(Pattern("Line 1.png").similar(0.97).targetOffset(38,-1))
select.append(Pattern("Line 2.png").similar(0.97).targetOffset(37,-1))
...
if some_condition:
m=1
else
m=2
select[m] = 'select'+str(n)
从您显示的代码中,我看到了一些问题
,而n<3
是缩进问题错误(
:我建议您执行以下操作: 1-将所有变量作为属性添加到类中:
class Variables:
def __init__(self):
self.Dunning1 = (Pattern("Line 1.png").similar(0.97).targetOffset(445,-2))
self.Balance1 = (Pattern("Line 1.png").similar(0.97).targetOffset(566,-2))
2-使用getattr
func按名称动态获取值:
n=1 // for example
vars = Variables()
DunningX = getattr(vars,f"Dunning{n}") //DunningX will be equal to Dunning1
这回答了你的问题吗?
n=1 // for example
vars = Variables()
DunningX = getattr(vars,f"Dunning{n}") //DunningX will be equal to Dunning1