Как мне зациклить некоторую часть кода?
import sys
from PyQt6.QtWidgets import *
from PyQt6.QtCore import *
from PyQt6.QtGui import *
import random as ra
class MW(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Что-то новое')
self.setMinimumSize(QSize(500, 500))
self.setMaximumSize(QSize(700, 700))
label = QLabel(self)
label.setFixedSize(QSize(500,500))
pixmap = QPixmap('Zakat1.jpeg')
label.setPixmap(pixmap)
global kno0
kno0 = QPushButton('Приветствую :)', self)
kno0.move(125,80)
kno0.setFixedSize(QSize(250,50))
kno0.setStyleSheet("font-size: 30px; background-color: None; color: white; font-family:Verdana, serif; border-radius: 25px")
global kno1
kno1 = QPushButton('Сложение', self)
kno1.move(25,200)
kno1.setFixedSize(QSize(200,50))
kno1.setStyleSheet("font-size: 18px; background-color:gray; color: white; font-family:Verdana, serif")
global kno2
kno2 = QPushButton('Вычитание', self)
kno2.move(25,300)
kno2.setFixedSize(QSize(200,50))
kno2.setStyleSheet("font-size: 18px; background-color:gray; color: white; font-family:Verdana, serif")
global kno3
kno3 = QPushButton('Умножение', self)
kno3.move(275,200)
kno3.setFixedSize(QSize(200,50))
kno3.setStyleSheet("font-size: 18px; background-color:gray; color: white; font-family:Verdana, serif")
global kno4
kno4 = QPushButton('Степень', self)
kno4.move(275,300)
kno4.setFixedSize(QSize(200,50))
kno4.setStyleSheet("font-size: 18px; background-color:gray; color: white; font-family:Verdana, serif")
global inp
inp = QLineEdit(self)
inp.hide()
global bally
bally = 0
self.zizi = 0
kno1.clicked.connect(self.sum)
def sum(self):
self.a = ra.randint(1, 100)
self.b = ra.randint(1, 100)
self.summa = self.a + self.b
self.text = str(self.a) + '+' + str(self.b)
kno3.hide()
kno4.hide()
kno0.setText('Сложение')
kno1.setText(str(bally))
kno1.setFixedSize(QSize(50,50))
kno1.move(225,150)
kno1.setStyleSheet("font-size: 20px; background-color: None; color: white; font-family:Verdana, serif; border-radius: 25px")
kno2.setText(self.text)
kno2.setFixedSize(QSize(400,50))
kno2.move(50,250)
kno2.setStyleSheet("font-size: 20px; background-color: black; color: white; font-family:Verdana, serif; border-radius: 25px")
inp.setVisible(True)
inp.setFixedSize(QSize(200,50))
inp.move(150,350)
inp.setStyleSheet('font-size: 20px')
inp.editingFinished.connect(self.get)
def get(self):
self.zizi = inp.text()
self.zizi = int(self.zizi)
if self.zizi == self.summa:
bally =+ 10
kno1.setText(str(bally))
if self.zizi != self.summa:
bally =- 10
kno1.setText(str(bally))
if bally < 0:
kno0.hide()
kno1.hide()
inp.hide()
kno2.setText('Вы проиграли')
if bally == 100:
kno0.hide()
kno1.hide()
inp.hide()
kno2.setText('Вы выиграли)')
app = QApplication(sys.argv)
w = MW()
w.show()
app.exec()
Не обращайте внимания на то, что я отображаю текст на кнопках.
Мне нужно каким-то способом зациклить метод sum()
и метод get()
, до достижения 100 баллов.
Источник: Stack Overflow на русском