Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 属性错误:';功能';对象没有属性';网格';_Python_Tkinter - Fatal编程技术网

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

我是一个流光者,是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',     '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()