Ошибка 'function' object has no attribute 'quest'

class Question():
    def __init__(self, q, ra, w1, w2, w3):
        self.quest = q
        self.r_Ans = ra
        self.wg1 = w1
        self.wg2 = w2
        self.wg3 = w3

q1 = Question('Что значит Z',
'Za Россию',
'Чеzо',
'Zелибоба',
'ZАRKAF')

q2 = Question('Что значит АБАЮДНА',
'Крутой прикол хахахах',
'я придумал',
'Название фильма',
'Чай')

q3 = Question('Чему равер Mc²',
'Исполнитель музыки',
'Исполнитель школы',
'Гений, миллионер, плейбой',
'Абоба')

q = [q1, q2, q3]

def nq():
    #if win.number < len(q)-1:
        #nextq = q[win.number+1]
        #win.number += 1
    #else:
        #win.number = 0
        #nextq = q[win.number+1]
    while True:
        r = randint(0, len(q)-1)
        if r != win.number:
            win.number = r
            break
    nextq = q[r]
    return nextq
def cof():
    if btn.text() == 'Ответить':
        show_ans()
    else:
        show_quest()

def show_ans():
    win.total += 1
    checkAns()
    stat.setText(f'Статистика {round(win.score/win.total*100, 2)}%')
    rAns.setText(q.rAns)
    grBox.hide()
    ansBox.show()
    btn.setText('Далее')
def show_quest():
    ask(next_quest)
    grBox.show()
    ansBox.hide()
    btn.setText('Ответить')
def ask(arg):
    quest.setText(arg.quest)
    shuffle(rbtnl)
    rbtnl[0].setText(arg.rAns)
    rbtnl[1].setText(arg.wg1)
    rbtnl[2].setText(arg.wg2)
    rbtnl[3].setText(arg.wg3)

def checkAns():
    for r in rbtnl:
        if r.isChecked():
            if r.text() == q.rAns:
                reslb.setText('Верно!')
                win.score += 1
            else:
                resLabel.setText('Ошибка!')
    cleanButton()

def cleanButton():
    rg.setExclusive(False)
    rbtn1.setChecked(False)
    rbtn2.setChecked(False)
    rbtn3.setChecked(False)
    rbtn4.setChecked(False)
    rg.setExclusive(True)

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (
    QApplication,
    QWidget,
    QLabel,
    QVBoxLayout,
    QHBoxLayout,
    QRadioButton,
    QGroupBox,
    QPushButton,
    QButtonGroup)
from random import shuffle, randint
from PyQt5.QtGui import QFont

app = QApplication([])
win = QWidget()
win.number = 0
win.total = 0
win.score = 0
win.setWindowTitle('yy')
win.resize(600, 400)

quest = QLabel('Что такое ПК?')
quest.setFont(QFont('Times', 16, QFont.Bold))
rbtn1 = QRadioButton('Портативный ноутбук')
rbtn1.setFont(QFont('Times', 14))
rbtn2 = QRadioButton('Помогать круто')
rbtn2.setFont(QFont('Times', 14))
rbtn3 = QRadioButton('Пожарный Кран')
rbtn3.setFont(QFont('Times', 14))
rbtn4 = QRadioButton('Подумай красный')
rbtn4.setFont(QFont('Times', 14))

rg = QButtonGroup()
rg.addButton(rbtn1)
rg.addButton(rbtn2)
rg.addButton(rbtn3)
rg.addButton(rbtn4)
rbtnl = [rbtn1, rbtn2, rbtn3, rbtn4]


btn = QPushButton('Ответить')

line1 = QHBoxLayout()
line1.addWidget(quest, alignment=Qt.AlignCenter)
#Группа вопроса
grBox = QGroupBox('Выберете правильный ответ')
ll = QVBoxLayout()
rl = QVBoxLayout()
hl = QHBoxLayout()

ll.addWidget(rbtn1)
ll.addWidget(rbtn3)
rl.addWidget(rbtn2)
rl.addWidget(rbtn4)

hl.addLayout(ll)
hl.addLayout(rl)

grBox.setLayout(hl)
#Группа ответа
ansBox = QGroupBox('Результат')
reslb = QLabel('Zov')
rAns = QLabel('zzz')
stat = QLabel('Статистика')
ansL = QVBoxLayout()
ansL.addWidget(reslb, alignment=Qt.AlignLeft)
ansL.addWidget(rAns, alignment=Qt.AlignCenter)
ansL.addWidget(stat, alignment=Qt.AlignRight)
ansBox.setLayout(ansL)
#---------------------------------------------------
line3 = QHBoxLayout()
line3.addWidget(btn, alignment=Qt.AlignCenter)

mainL = QVBoxLayout()
mainL.addLayout(line1)
mainL.addWidget(grBox)
mainL.addWidget(ansBox)
mainL.addLayout(line3)

win.setLayout(mainL)

grBox.show()
ansBox.hide()

btn.clicked.connect(cof)


win.show()
ask(nq)
app.exec()

Ошибка:

ask(nq)
ask(nq)
File "c:/Program Files/Algoritmika/vscode/data/extensions/algoritmika.algopython-20241014.142810.0/data/student/2765614/86844/my_memory_card.py", line 63, in ask  
    quest.setText(arg.quest)
AttributeError: 'function' object has no attribute 'quest'

Ответы (0 шт):