from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QWidget, QLabel, QPushButton, QListWidget, QListWidgetItem, QLineEdit, QHBoxLayout, QVBoxLayout
import random
class RandomNumber(QWidget):
def __init__(self):
super().__init__()
self.num_list = []
self.label1 = QLabel("Введите количество чисел")
self.entry = QLineEdit()
self.entry.returnPressed.connect(self.fill_nums)
layout1 = QHBoxLayout()
layout1.addWidget(self.label1)
layout1.addWidget(self.entry)
layout = QVBoxLayout()
self.numbers = QListWidget()
self.search_btn = QPushButton("Найти")
self.search_btn.clicked.connect(self.count)
self.pos_result = QLabel("Положительных чисел")
self.neg_result = QLabel("Отрицательных чисел")
self.null_result = QLabel("Количество нулей")
layout.addLayout(layout1)
layout.addWidget(self.numbers)
layout.addWidget(self.search_btn)
layout.addWidget(self.pos_result)
layout.addWidget(self.neg_result)
layout.addWidget(self.null_result)
self.setLayout(layout)
def fill_nums(self):
n = self.entry.text().strip()
self.num_list = [random.randint(-50, 50) for _ in range(int(n))]
for i, r in enumerate(self.num_list):
self.numbers.addItem(str(r))
def count(self):
pos = 0
neg = 0
nul = 0
for i in self.num_list:
if i > 0:
pos += 1
elif i < 0:
neg += 1
else:
nul += 1
self.pos_result.setText(f"Положительных чисел: {pos}")
self.neg_result.setText(f"Отрицательных чисел: {neg}")
self.null_result.setText(f"Количество нулей: {nul}")
from PyQt6.QtWidgets import QWidget, QApplication
import sys
from okno import RandomNumber
if __name__ == "__main__":
app = QApplication(sys.argv)
window = RandomNumber()
window.show()
sys.exit(app.exec())