在Tkinter中使用变量作为索引

问题描述 投票:1回答:1

在".get(startindex[,endindex]) "表达式中如何使用变量作为索引,而不是数字?

for i in range(1, n):
       a = text.get("i.0", "i.end" )
       b = text.get("i+1.0", "i+1.end" )

而不是:

   a = text.get("1.0", "1.end" )
   b = text.get("2.0", "2.end" )
   a = text.get("3.0", "3.end" )
   b = text.get("4.0", "4.end" ) etc...

在第一个代码序列中,我得到 "坏的文本索引 "i.0 "错误。

python variables tkinter indexing
1个回答
0
投票

只有这些信息很难说出这样做的目的,但直接回答你的问题,你可以使用 串插 python.org 如.format方法。

for i in range(1, n):
       a = text.get("{0}.0".format(i), "{0}.end".format(i) )
       b = text.get("{0}.0".format(i + 1), "{0}.end".format(i + 1)) 

1
投票

你用python有3种字符串格式

text.get("%d.0"%(i + 1), "%.end"%(i)) # 1 
text.get("{0}.0".format(i), "{0}.end".format(i) ) # 2
text.get(f"{i+1}.0", f"{i}.end") # 3 
© www.soinside.com 2019 - 2024. All rights reserved.