Ошибка в python: 'builtin_function_or_method' object is not iterable
новичок в python, я хочу написать приложение, которое будет выводить одно из случайных определений из python. Например (While is ...) и т.д. Но я получаю ошибку: Объект 'builtin_function_or_method' не является итерируемым. Я понятия не имею, как это исправить, пожалуйста, помогите!
Вот мой код:
1234567891011121314151617181920212223242526272829303132333435
import tkinter as tk
import random
root = tk.Tk()
root.title("Питонские определения")
root.geometry('300x500+750+200')
def get_list(self):
return
definitions = {
"While": "Цикл 'while' используется для выполнения блока кода, пока условие истинно.",
"For": "Цикл 'for' используется для итерации по элементам последовательности (например, списку или строке).",
"If": "Условие 'if' позволяет выполнить определенный блок кода, если условие истинно.",
"Function": "Функция - это блок кода, который можно вызывать с определенными аргументами.",
"List": "Список - это упорядоченная коллекция элементов, которая может содержать разные типы данных."
}
def show_random_definition():
for definitions in Ent:
print(definitions)
Ent = tk.Entry(root)
lbl = tk.Label(root, text='Значение')
Ent[random.choice(list(definitions.keys))]
user_word = input('что такое ' + definitions + '? ')
if user_word == [definitions]:
print(definitions)
else:
print(f'Я вас не понял')
def add():
global count
count = random
lbl['Сгенерировать определение'] = str(count)
btn = tk.Button(root, text='Показать определение', padx=60, pady=20, command=add)
btn.pack()
lbl.pack()
Ent.pack()
root.mainloop()

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
12345678910111213141516171819202122232425262728293031
import tkinter as tk
import random
root = tk.Tk()
root.title("Питонские определения")
root.geometry('300x500+750+200')
definitions = {
"While": "Цикл 'while' используется для выполнения блока кода, пока условие истинно.",
"For": "Цикл 'for' используется для итерации по элементам последовательности (например, списку или строке).",
"If": "Условие 'if' позволяет выполнить определенный блок кода, если условие истинно.",
"Function": "Функция - это блок кода, который можно вызывать с определенными аргументами.",
"List": "Список - это упорядоченная коллекция элементов, которая может содержать разные типы данных."
}
Ent = tk.Entry(root)
lbl = tk.Label(root, text='Значение')
def show_random_definition():
key = random.choice(list(definitions.keys()))
value = definitions[key]
Ent.delete(0, tk.END)
Ent.insert(0, value)
btn = tk.Button(root, text='Показать определение', padx=60, pady=20, command=show_random_definition)
btn.pack()
lbl.pack()
Ent.pack()
root.mainloop()
У тебя ошибок тьма. Конкретно та ошибка, про которую ты спрашиваешь, то в 18 строчке ошибка, там
1
definitions.keys() так надо, а не definitions.keys
Почаще запускай программу, не пиши всю сразу, а проверяй, иначе искать и исправлять всё заколеблешься