找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2382|回复: 3

[求助] 变量名是可变的问题

1

主题

1

帖子

1

积分

贫民

积分
1
wogawa 发表于 2017-12-14 19:42:17 | 显示全部楼层 |阅读模式
from tkinter import *
def getentry()
        print(locals()['var0'].get())        #为什么总是出现错误?怎么改就可以了?(请注意变量名是可变的,因为Entry的数量不确定)
root = Tk()
for i in range(0,9)
       locals()["var"+str(i)]=StringVar(
       Entry(root,width=5,textvariable=locals()["var"+str(i)]).pack()
Button(root, text='生成', command=getentry).pack(side=BOTTOM)
root.mainloop()

回复

使用道具 举报

3

主题

278

帖子

278

积分

侠客

积分
278

热心会员

uitb 发表于 2017-12-14 20:02:29 | 显示全部楼层
这个确定是python?怎么看着一点也不pythonic,不过呢,你这两句后面缺冒号“:”:def getentry()/for i in range(0,9)
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2017-12-15 20:17:46 | 显示全部楼层
用exec
python3.4.4, win10
回复

使用道具 举报

2

主题

5

帖子

5

积分

贫民

积分
5
liuyuan 发表于 2019-12-8 17:16:34 | 显示全部楼层
from tkinter import *
def getentry():
        print(locals()['var0'].get())        #为什么总是出现错误?怎么改就可以了?(请注意变量名是可变的,因为Entry的数量不确定)
root = Tk()
for i in range(0,9):
    locals()["var"+str(i)]=StringVar(Entry(root,width=5,textvariable=locals()["var"+str(i)]).pack(),Button(root, text='生成', command=getentry).pack(side=BOTTOM))
    root.mainloop()
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表