Python 属性错误:';功能';对象没有属性';网格';
我是一个流光者,是python的新手,如果有人能帮我解决这个问题,我将非常感谢Python 属性错误:';功能';对象没有属性';网格';,python,tkinter,Python,Tkinter,我是一个流光者,是python的新手,如果有人能帮我解决这个问题,我将非常感谢 import tkinter as tk import random window = tk.Tk() window.title("Randomizer") window.geometry("400x400") #----RANDOM SELECT GEN-------- def random_gen(): Champ=['Aatrox', 'Ahri
import tkinter as tk import random
window = tk.Tk()
window.title("Randomizer")
window.geometry("400x400")
#----RANDOM SELECT GEN--------
def random_gen():
Champ=['Aatrox', 'Ahri', 'Akali', 'Alistar', 'Amumu', 'Anivia', 'Annie', 'Ashe', 'Azir', 'Blitzcrank', 'Brand', 'Braum', 'Caitlyn', 'Cassiopeia', 'ChoGath', 'Corki', 'Darius', 'Diana', 'Dr. Mundo', 'Draven', 'Elise', 'Evelynn', 'Ezreal', 'Fiddlesticks', 'Fiora', 'Fizz', 'Galio', 'Gangplank', 'Garen', 'Gnar', 'Gragas', 'Graves', 'Hecarim', 'Heimerdinger', 'Irelia', 'Janna', 'Jarvan IV', 'Jax', 'Jayce', 'Jinx', 'Kalista', 'Karma', 'Karthus', 'Kassadin', 'Katarina', 'Kayle', 'Kennen', 'KhaZix', 'KogMaw', 'LeBlanc', 'Lee Sin', 'Leona', 'Lissandra', 'Lucian', 'Lulu', 'Lux', 'Malphite', 'Malzahar', 'Maokai', 'Master Yi', 'Miss Fortune', 'Mordekaiser', 'Morgana', 'Nami', 'Nasus', 'Nautilus', 'Nidalee', 'Nocturn', 'Nunu', 'Olaf', 'Orianna', 'Pantheon', 'Poppy', 'Quinn', 'Rammus', 'RekSai', 'Renekton', 'Rengar', 'Riven', 'Rumble', 'Ryze', 'Sejuani', 'Shaco', 'Shen', 'Shyvana', 'Singed', 'Sion', 'Sivir', 'Skarner', 'Sona', 'Soraka', 'Swain', 'Syndra', 'Talon', 'Taric', 'Teemo', 'Thresh', 'Tristana', 'Trundle', 'Tryndamere', 'Twisted Fate', 'Twitch', 'Udyr', 'Urgot', 'Varus', 'Vayne', 'Veigar', 'VelKoz', 'Vi', 'Viktor', 'Vladimir', 'Volibear', 'Warwick', 'Wukong', 'Xerath', 'Xin Zhao', 'Yasuo', 'Yorick', 'Zac', 'Zed', 'Ziggs', 'Zilean', 'Zyra', 'aphelios', 'aurelion sol', 'bard', 'Camille', 'ekko', 'illaoi', 'ivern', 'kaisa', 'jhin', 'kayne', 'kindred', 'kled', 'lillia', 'neeko', 'ornn', 'pyke', 'qiyana', 'rakan', 'xayah', 'sett', 'senna', 'Sylas', 'tahm kench', 'Taliyah', 'yone', 'yuumi', 'zoe']
Lane=['top','bottom','middle','support','jungle']
Build=['AD','Tank','AP','Crit','Attack speed','Assassin']
x=random.choice(Build)
y=random.choice(Champ)
z=random.choice(Lane)
print (x),(y),(z)
#------ANSWER PULL-------------
def random_display():
result = random_gen()
results_display = tk.Text(master=window, height=10, width=30)
random_display.grid(column=0, row=3)
results_display.insert(tk.END, result)
#-----BUTTON---------------
button = tk.Button(text="Goodluck!", command=random_display)
button.grid(column=0, row=1)
window.mainloop()
您使用了错误的变量:
results_display = tk.Text(master=window, height=10, width=30)
random_display.grid(column=0, row=3) # <- here
此外,如果您不介意在每次需要新选择时运行程序(因此在每场比赛开始时),您可以使用此简化程序:
from random import randint
CHAMPIONS = ['Aatrox', 'Ahri', 'Akali', 'Alistar', 'Amumu', 'Anivia', 'Annie', 'Ashe', 'Azir', 'Blitzcrank', 'Brand', 'Braum', 'Caitlyn', 'Cassiopeia', 'ChoGath', 'Corki', 'Darius', 'Diana', 'Dr. Mundo', 'Draven', 'Elise', 'Evelynn', 'Ezreal', 'Fiddlesticks', 'Fiora', 'Fizz', 'Galio', 'Gangplank', 'Garen', 'Gnar', 'Gragas', 'Graves', 'Hecarim', 'Heimerdinger', 'Irelia', 'Janna', 'Jarvan IV', 'Jax', 'Jayce', 'Jinx', 'Kalista', 'Karma', 'Karthus', 'Kassadin', 'Katarina', 'Kayle', 'Kennen', 'KhaZix', 'KogMaw', 'LeBlanc', 'Lee Sin', 'Leona', 'Lissandra', 'Lucian', 'Lulu', 'Lux', 'Malphite', 'Malzahar', 'Maokai', 'Master Yi', 'Miss Fortune', 'Mordekaiser', 'Morgana', 'Nami', 'Nasus', 'Nautilus', 'Nidalee', 'Nocturn', 'Nunu', 'Olaf', 'Orianna', 'Pantheon', 'Poppy', 'Quinn', 'Rammus', 'RekSai', 'Renekton', 'Rengar', 'Riven', 'Rumble', 'Ryze', 'Sejuani', 'Shaco', 'Shen', 'Shyvana', 'Singed', 'Sion', 'Sivir', 'Skarner', 'Sona', 'Soraka', 'Swain', 'Syndra', 'Talon', 'Taric', 'Teemo', 'Thresh', 'Tristana', 'Trundle', 'Tryndamere', 'Twisted Fate', 'Twitch', 'Udyr', 'Urgot', 'Varus', 'Vayne', 'Veigar', 'VelKoz', 'Vi', 'Viktor', 'Vladimir', 'Volibear', 'Warwick', 'Wukong', 'Xerath', 'Xin Zhao', 'Yasuo', 'Yorick', 'Zac', 'Zed', 'Ziggs', 'Zilean', 'Zyra', 'aphelios', 'aurelion sol', 'bard', 'Camille', 'ekko', 'illaoi', 'ivern', 'kaisa', 'jhin', 'kayne', 'kindred', 'kled', 'lillia', 'neeko', 'ornn', 'pyke', 'qiyana', 'rakan', 'xayah', 'sett', 'senna', 'Sylas', 'tahm kench', 'Taliyah', 'yone', 'yuumi', 'zoe']
LANES = ['Top', 'Jungle', 'Mid', 'Bottom', 'Support']
BUILDS = ['AD', 'Tank', 'AP', 'Crit', 'Attack speed', 'Lethality']
print(
CHAMPIONS[randint(0, len(CHAMPIONS))],
LANES[randint(0, len(LANES))],
BUILDS[randint(0, len(BUILDS))]
)
input('Press "enter" to close this window...')
这是您更正的代码:
import tkinter as tk
import random
window = tk.Tk()
window.title("Randomizer")
window.geometry("400x400")
#----RANDOM SELECT GEN--------
def random_gen():
Champ = ['Aatrox', 'Ahri', 'Akali', 'Alistar', 'Amumu', 'Anivia', 'Annie', 'Ashe', 'Azir', 'Blitzcrank', 'Brand', 'Braum', 'Caitlyn', 'Cassiopeia', 'ChoGath', 'Corki', 'Darius', 'Diana', 'Dr. Mundo', 'Draven', 'Elise', 'Evelynn', 'Ezreal', 'Fiddlesticks', 'Fiora', 'Fizz', 'Galio', 'Gangplank', 'Garen', 'Gnar', 'Gragas', 'Graves', 'Hecarim', 'Heimerdinger', 'Irelia', 'Janna', 'Jarvan IV', 'Jax', 'Jayce', 'Jinx', 'Kalista', 'Karma', 'Karthus', 'Kassadin', 'Katarina', 'Kayle', 'Kennen', 'KhaZix', 'KogMaw', 'LeBlanc', 'Lee Sin', 'Leona', 'Lissandra', 'Lucian', 'Lulu', 'Lux', 'Malphite', 'Malzahar', 'Maokai', 'Master Yi', 'Miss Fortune', 'Mordekaiser', 'Morgana', 'Nami', 'Nasus', 'Nautilus', 'Nidalee', 'Nocturn', 'Nunu', 'Olaf', 'Orianna', 'Pantheon', 'Poppy', 'Quinn', 'Rammus', 'RekSai', 'Renekton', 'Rengar', 'Riven', 'Rumble', 'Ryze', 'Sejuani', 'Shaco', 'Shen', 'Shyvana', 'Singed', 'Sion', 'Sivir', 'Skarner', 'Sona', 'Soraka', 'Swain', 'Syndra', 'Talon', 'Taric', 'Teemo', 'Thresh', 'Tristana', 'Trundle', 'Tryndamere', 'Twisted Fate', 'Twitch', 'Udyr', 'Urgot', 'Varus', 'Vayne', 'Veigar', 'VelKoz', 'Vi', 'Viktor', 'Vladimir', 'Volibear', 'Warwick', 'Wukong', 'Xerath', 'Xin Zhao', 'Yasuo', 'Yorick', 'Zac', 'Zed', 'Ziggs', 'Zilean', 'Zyra', 'aphelios', 'aurelion sol', 'bard', 'Camille', 'ekko', 'illaoi', 'ivern', 'kaisa', 'jhin', 'kayne', 'kindred', 'kled', 'lillia', 'neeko', 'ornn', 'pyke', 'qiyana', 'rakan', 'xayah', 'sett', 'senna', 'Sylas', 'tahm kench', 'Taliyah', 'yone', 'yuumi', 'zoe']
Lane = ['top', 'bottom', 'middle', 'support', 'jungle']
Build = ['AD', 'Tank', 'AP', 'Crit', 'Attack speed', 'Assassin']
x = random.choice(Build)
y = random.choice(Champ)
z = random.choice(Lane)
return (x, y, z)
#------ANSWER PULL-------------
def random_display():
result = random_gen()
results_display = tk.Text(master=window, height=10, width=30)
results_display.grid(column=0, row=3)
results_display.insert(tk.END, result)
#-----BUTTON---------------
button = tk.Button(text="Goodluck!", command=random_display)
button.grid(column=0, row=1)
window.mainloop()
它不工作是因为
打印(x)、(y)、(z)
,它应该是返回
,而不是在random_gen()函数中打印块引号将代码弄乱,使其无法理解。看,谢谢,我试试这个!其余的看起来会执行吗?我现在不在我的电脑前试着运行它。我试过这段代码,它运行得很好,只是没有你想象的那么漂亮。
import tkinter as tk
import random
window = tk.Tk()
window.title("Randomizer")
window.geometry("400x400")
#----RANDOM SELECT GEN--------
def random_gen():
Champ = ['Aatrox', 'Ahri', 'Akali', 'Alistar', 'Amumu', 'Anivia', 'Annie', 'Ashe', 'Azir', 'Blitzcrank', 'Brand', 'Braum', 'Caitlyn', 'Cassiopeia', 'ChoGath', 'Corki', 'Darius', 'Diana', 'Dr. Mundo', 'Draven', 'Elise', 'Evelynn', 'Ezreal', 'Fiddlesticks', 'Fiora', 'Fizz', 'Galio', 'Gangplank', 'Garen', 'Gnar', 'Gragas', 'Graves', 'Hecarim', 'Heimerdinger', 'Irelia', 'Janna', 'Jarvan IV', 'Jax', 'Jayce', 'Jinx', 'Kalista', 'Karma', 'Karthus', 'Kassadin', 'Katarina', 'Kayle', 'Kennen', 'KhaZix', 'KogMaw', 'LeBlanc', 'Lee Sin', 'Leona', 'Lissandra', 'Lucian', 'Lulu', 'Lux', 'Malphite', 'Malzahar', 'Maokai', 'Master Yi', 'Miss Fortune', 'Mordekaiser', 'Morgana', 'Nami', 'Nasus', 'Nautilus', 'Nidalee', 'Nocturn', 'Nunu', 'Olaf', 'Orianna', 'Pantheon', 'Poppy', 'Quinn', 'Rammus', 'RekSai', 'Renekton', 'Rengar', 'Riven', 'Rumble', 'Ryze', 'Sejuani', 'Shaco', 'Shen', 'Shyvana', 'Singed', 'Sion', 'Sivir', 'Skarner', 'Sona', 'Soraka', 'Swain', 'Syndra', 'Talon', 'Taric', 'Teemo', 'Thresh', 'Tristana', 'Trundle', 'Tryndamere', 'Twisted Fate', 'Twitch', 'Udyr', 'Urgot', 'Varus', 'Vayne', 'Veigar', 'VelKoz', 'Vi', 'Viktor', 'Vladimir', 'Volibear', 'Warwick', 'Wukong', 'Xerath', 'Xin Zhao', 'Yasuo', 'Yorick', 'Zac', 'Zed', 'Ziggs', 'Zilean', 'Zyra', 'aphelios', 'aurelion sol', 'bard', 'Camille', 'ekko', 'illaoi', 'ivern', 'kaisa', 'jhin', 'kayne', 'kindred', 'kled', 'lillia', 'neeko', 'ornn', 'pyke', 'qiyana', 'rakan', 'xayah', 'sett', 'senna', 'Sylas', 'tahm kench', 'Taliyah', 'yone', 'yuumi', 'zoe']
Lane = ['top', 'bottom', 'middle', 'support', 'jungle']
Build = ['AD', 'Tank', 'AP', 'Crit', 'Attack speed', 'Assassin']
x = random.choice(Build)
y = random.choice(Champ)
z = random.choice(Lane)
return (x, y, z)
#------ANSWER PULL-------------
def random_display():
result = random_gen()
results_display = tk.Text(master=window, height=10, width=30)
results_display.grid(column=0, row=3)
results_display.insert(tk.END, result)
#-----BUTTON---------------
button = tk.Button(text="Goodluck!", command=random_display)
button.grid(column=0, row=1)
window.mainloop()