每次运行while循环时,我都试图将字符串的字母移动1(因此“A”变为“B”,“B”变为“C”,以此类推)。
我需要显示每个结果,以便我可以比较它们。我不想做但知道如何做的是创建 26 个不同的函数,每个函数将字母移动一个字母,但这似乎有点荒谬。
每次 while 循环通过时,如何为 ttk 分配一个变量?
我认为这会将“ls”加上计数(ls1,ls2,ls3 ...)分配给每个变量,但事实并非如此。它每次都会抛出一个错误。
def shift1(*args):
s = code.get()
storage = []
count = 1
while (count <= 26):
l = [ord(i) for i in s]
sh = ([chr(i + count) for i in l])
storage.append(sh)
("ls"+str(count)).set(storage(count - 1))
count += 1
它给了我一个错误,上面写着
AttributeError:“str”对象没有属性“set”
就像我说的,每次分配一个 diff ttk 变量时,我可以只使用这个函数 26 次。
def shift1(*args):
s = code.get()
l = [ord(i) for i in s]
sh1.set(''.join([chr(i + 1) for i in l]))
这基本上会绕过循环,但我知道必须有更好的方法。python 和 ttk 非常新,所以任何帮助表示赞赏。