【发布时间】:2021-04-28 05:45:34
【问题描述】:
我看过关于这个的帖子,但它们都与while (x) == True: 有关
我的函数没有这些。这些在 2 个单独的文件中。请帮忙! Screenshot of pycharm
我知道这是很多代码,但我已经花了几个小时在这上面,我真的不知道为什么会这样。我希望完整发布这个项目,我可以在窗口中打印功能。在这一点上,它甚至不需要是一个 tkinter GUI,如果你有任何其他你认为可以工作的 GUI,请告诉我。提前谢谢你。
代码
import random
moves = ["RU", "RD", "LD", "LU", "BL", "BR", "DR", "DL", "FL", "FR", "UL", "UR"]
dir = ["", "2"]
slen = random.randint(25, 30)
def scramble_gen():
scramble = [0] * slen
for x in range(len(scramble)):
scramble[x] = [0] * 2
return scramble
def scramble_replace(ar):
for x in range(len(ar)):
ar[x][0] = random.choice(moves)
ar[x][1] = random.choice(dir)
return ar
def valid(ar):
for x in range(1, len(ar)):
while ar[x][0] == ar[x-1][0]:
ar[x][0] = random.choice(moves)
for x in range(2, len(ar)):
while ar[x][0] == ar[x-2][0] or ar[x][0] == ar[x-1][0]:
ar[x][0] = random.choice(moves)
return ar
def sprint(ar):
for x in range(len(ar)):
print(str(ar[x][0]) + str(ar[x][1]), end= " ")
s = scramble_replace(scramble_gen())'''
新文件
from tkinter import *
import random
from scrambler import *
window = Tk()
window.title("Bryson's Scrambler")
lbl = Label(window, text = sprint(valid(s)))
lbl.grid(column=0, row=0)
txt = Entry(window,width=10)
txt.grid(column=1, row=0)
def clicked():
lbl.configure(text="Button was clicked !!")
btn = Button(window, text="Click Me", command=clicked)
btn.grid(column=2, row=0)
window.mainloop()
window.mainloop()
【问题讨论】:
-
我不明白你认为“打印函数”是什么意思。
-
“我真的不明白为什么会这样。” - 为什么会发生what?您还没有解释它在做什么,以及它与您的预期有何不同。如果您遇到错误,请将完整的错误消息复制并粘贴到您的问题中。
-
我不明白你想做什么 - 如果你想在 GUI 中显示一些文本,那么不要使用
print()而是创建字符串并使用这个字符串放入 GUI(最终用print()显示它。
标签: python function user-interface tkinter