Skip to content

Commit 6a26236

Browse files
committed
Пример
1 parent 4624399 commit 6a26236

1 file changed

Lines changed: 86 additions & 0 deletions

File tree

version-3-mini.py

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
import sys
2+
import random
3+
from PyQt5.QtWidgets import (QApplication, QWidget, QVBoxLayout,
4+
QPushButton, QLabel, QLineEdit,
5+
QComboBox, QSpinBox)
6+
7+
class SimpleRandomGenerator(QWidget):
8+
def __init__(self):
9+
super().__init__()
10+
self.initUI()
11+
12+
def initUI(self):
13+
# Настройки окна
14+
self.setWindowTitle('Генератор Случайных Чисел')
15+
self.setGeometry(100, 100, 400, 300)
16+
17+
# Основной макет
18+
layout = QVBoxLayout()
19+
20+
# Минимальное значение
21+
layout.addWidget(QLabel('Минимальное значение:'))
22+
self.min_input = QSpinBox()
23+
self.min_input.setRange(-1000, 1000)
24+
layout.addWidget(self.min_input)
25+
26+
# Максимальное значение
27+
layout.addWidget(QLabel('Максимальное значение:'))
28+
self.max_input = QSpinBox()
29+
self.max_input.setRange(-1000, 1000)
30+
self.max_input.setValue(100)
31+
layout.addWidget(self.max_input)
32+
33+
# Тип генерации
34+
layout.addWidget(QLabel('Тип генерации:'))
35+
self.type_select = QComboBox()
36+
self.type_select.addItems(['Случайное число', 'Последовательность'])
37+
layout.addWidget(self.type_select)
38+
39+
# Количество чисел
40+
layout.addWidget(QLabel('Количество:'))
41+
self.count_input = QSpinBox()
42+
self.count_input.setRange(1, 100)
43+
layout.addWidget(self.count_input)
44+
45+
# Кнопка генерации
46+
generate_button = QPushButton('Сгенерировать')
47+
generate_button.clicked.connect(self.generate_numbers)
48+
layout.addWidget(generate_button)
49+
50+
# Результат
51+
self.result_label = QLabel('Результат:')
52+
layout.addWidget(self.result_label)
53+
54+
self.setLayout(layout)
55+
56+
def generate_numbers(self):
57+
# Получаем параметры
58+
min_val = self.min_input.value()
59+
max_val = self.max_input.value()
60+
gen_type = self.type_select.currentText()
61+
count = self.count_input.value()
62+
63+
# Проверка корректности диапазона
64+
if min_val > max_val:
65+
self.result_label.setText('Ошибка: Мин. значение больше макс.')
66+
return
67+
68+
# Генерация
69+
try:
70+
if gen_type == 'Случайное число':
71+
result = random.randint(min_val, max_val)
72+
self.result_label.setText(f'Случайное число: {result}')
73+
else:
74+
result = [random.randint(min_val, max_val) for _ in range(count)]
75+
self.result_label.setText(f'Последовательность: {result}')
76+
except Exception as e:
77+
self.result_label.setText(f'Ошибка: {str(e)}')
78+
79+
def main():
80+
app = QApplication(sys.argv)
81+
generator = SimpleRandomGenerator()
82+
generator.show()
83+
sys.exit(app.exec_())
84+
85+
if __name__ == '__main__':
86+
main()

0 commit comments

Comments
 (0)