Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
270 views
in Technique[技术] by (71.8m points)

python 3.x - How to select a random Entry on a tkinter canvas?

I'm making a simple sudoku generator, and have got 81 different entries (e1, e2, e3, e4 ... etc). I would like to know if there is any way to select a random entry to insert a number into.

So kind of like this:

num = randint(0, 81)
entry = "e" + str(num)
entry.insert()

With the above code you get an error saying str object has no attribute 'insert' which makes sense, but is there any way to 'convert' a string to a variable name?

Thanks in advance.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Store the entries in a list, then use random.choice to pick one of the entries.

entries = []
for i in range 81:
    entry = tk.Entry(...)
    entries.append(entry)
...
random_entry = random.choice(entries)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...