在Jython Sikulix中添加字符串的奇怪问题

时间:2017-06-06 13:16:30

标签: python-2.7 jython sikuli

所以我在Jython SikuliX中编写一个程序,通过三个字母输入(MAG)自动制作标签,然后在末尾添加一个数字(1),然后为每个标签增加数字+1(MAG1 - MAG2 - MAG3等。)

然而,这里的诀窍是我需要字母和数字的组合,总长度为6个字符(So MAG001或MAG010或MAG100)。

我已经得到了数字连接但是我遇到了任何数字超过100的奇怪问题。从标签9到标签10及以上工作完美(MAG009 - MAG010 - MAG011等)然而当我到MAG99然后去MAG100我收到一个错误:

[error] --- Traceback --- error source first line: module ( function ) 
statement 26: main ( name_change ) name = name
[error] --- Traceback --- end --------------

我不知道为什么会这样......代码在下面。

import time

name1 = str(input("First three letters of product name"))
labels = int(input("At what number do you want the labels to stop?"))

a = int(input("What number should the labels start at?"))
e = "00"
d = "0"



find("1496686601617.png")
doubleClick("1496686607803.png")

def name_change(name1, a):
    a = str(a)
    c = len("%s%s" % (name1, a))

    if c == 4:
        name = ("%s%s" % (name1, e))

    if c == 5:
        name = ("%s%s" % (name1, d))

    if c == 6:
        name = name

    a = int(a)
    return name

def label_make(name, a):
    click("1496688531026.png")
    type("0000")
    rightClick("1496688447045.png")
    click("Select_All.png")
    type("%s%r" % (name, a))
    click("1496686753618.png")
    click("Save As-1.png")
    time.sleep(1)
    type("%s%r" % (name, a))
    click("1496687258684.png")

    a = a + 1
    return a 

while labels >= a:
    name = name_change(name1, a)
    a = label_make(name, a)

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

没关系,我解决了自己的问题:

我回到了一个没有涉及函数的旧版本,并且如果它已经是6个字符长并且它可以正常工作,那么它就为name指定了变量。代码如下:

import time

name1 = str(input("First three letters of product name"))
labels = int(input("At what number do you want the labels to stop?"))

a = int(input("What number should the labels start at?"))
e = "00"
d = "0"



find("1496686601617.png")
doubleClick("1496686607803.png")

while labels >= a:
    #a = str(a)
    c = len("%s%s" % (name1, a))

    if c == 4:
        name = ("%s%s" % (name1, e))

    if c == 5:
        name = ("%s%s" % (name1, d))

    if c == 6:
        name = name1

    #a = int(a)


    click("1496688531026.png")
    type("0000")
    rightClick("1496688447045.png")
    click("Select_All.png")
    type("%s%r" % (name, a))
    click("1496686753618.png")
    click("Save As-1.png")
    time.sleep(1)
    type("%s%r" % (name, a))
    click("1496687258684.png")
    #a = int(a)
    a = a + 1