【问题标题】:Strange issue adding strings together in Jython Sikulix在 Jython Sikulix 中添加字符串的奇怪问题
【发布时间】:2017-11-07 12:48:41
【问题描述】:

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

但是这里的技巧是我需要字母和数字的组合长度始终为 6 个字符(因此 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)

任何帮助将不胜感激。

【问题讨论】:

    标签: python-2.7 jython sikuli


    【解决方案1】:

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

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

    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
    

    【讨论】:

      猜你喜欢
      • 2023-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      相关资源
      最近更新 更多