-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.py
More file actions
157 lines (117 loc) · 5.4 KB
/
Copy pathtest.py
File metadata and controls
157 lines (117 loc) · 5.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
import time
import random
print(time.time())
# ==========================================
# ТЕСТ ВСЕХ ВОЗМОЖНОСТЕЙ ЯЗЫКА RUPY
# ==========================================
# 1. ТЕСТ КЛАССОВ И МЕТОДОВ (ООП)
class Робот:
#аналог __init__
def __init__(self, имя, модель):
self.имя = имя
self.модель = модель
self.энергия = 100
self.инвентарь = []
def статус(self):
print("--- ОТЧЕТ СИСТЕМЫ ---")
print("Имя: " + self.имя)
print("Заряд: " + str(self.энергия) + "%")
print("Предметы: " + str(self.инвентарь))
def взять_вещь(self, предмет):
self.инвентарь.append(предмет)
print(self.имя + " положил в сумку: " + предмет)
def работа(self, задача):
if self.энергия > 20:
print("Выполняю: " + задача)
self.энергия = self.энергия - 30
else:
print("НИЗКИЙ ЗАРЯД! Работа невозможна.")
# 2. ТЕСТ ОБЫЧНЫХ ФУНКЦИЙ
def расчет_мощности(а, б):
return а * б
# 3. ОСНОВНАЯ ЛОГИКА
print(" === ЗАПУСК ПРОГРАММЫ RUPY ===")
# Проверка форматированных строк
товар = "яблоки"
цена = 150
количество = 3
итого = цена * количество
print(f"Товар: {товар}")
print(f"Цена за штуку: {цена} руб.")
print(f"Количество: {количество} шт.")
print(f"Итого: {итого} руб.")
#labda тест
сложить = lambda а, б: а + б
print(сложить(1,2))
# Тест ввода
оператор = input("Представьтесь, создатель: ")
print("Приветствую, " + оператор + "!")
# Тест создания объекта
бот = Робот("Валли", "Уборщик")
# Тест работы со списками и методами
бот.взять_вещь("Старая ложка")
бот.взять_вещь("Растение")
бот.взять_вещь("Болт")
# Тест удаления из списка
print("Нужно выкинуть мусор...")
бот.инвентарь.remove("Болт")
# Тест циклов (3 раза)
print("Проверка моторов...")
for _ in range(3):
print("Пип-буп!")
# Тест циклов со счетчиком
итераций = 2
for номер in range(итераций):
print("Шаг теста № " + str(номер + 1))
# ==========================================
# НОВЫЙ БЛОК: ТЕСТ ЛОГИЧЕСКИХ ОПЕРАТОРОВ
# ==========================================
print("--- ТЕСТ ЛОГИКИ ---")
доступ_разрешен = True
система_сломана = False
if доступ_разрешен and not система_сломана:
print("Логика И и НЕ работает: Доступ в систему открыт!")
#пусть рандомное_число = рандом.целый_рандом(1,3)
#если рандомное_число равно 1
# вывести "рандом 1"
#иначе если рандомное_число равно 2
# вывести "рандом 2"
#иначе
# вывести "рандом 3"
#конец
заряд_аккумулятора = 15
критический_режим = True
if заряд_аккумулятора < 20 or критический_режим:
print("Логика ИЛИ работает: Робот переходит в энергосбережение!")
# ==========================================
# НОВЫЙ БЛОК: ТЕСТ СИСТЕМЫ С ФАЙЛАМИ
# ==========================================
print("--- ТЕСТ СИСТЕМЫ ФАЙЛОВ ---")
# Тест записи в файл
with open("лог_робота.txt","w", encoding="utf-8") as файл_логирования:
файл_логирования.write("Запись №1: Робот успешно инициализирован.\n")
файл_логирования.write("Запись №2: Обнаружен русский текст в файлах!\n")
print("Файл успешно записан!")
# Тест чтения из файла
with open("лог_робота.txt","r", encoding="utf-8") as читаемый_файл:
лог_данные = читаемый_файл.read()
print("Содержимое созданного файла:")
print(лог_данные)
# ==========================================
# ОКОНЧАНИЕ ТЕСТА
# ==========================================
# Тест условий и математики
рез = расчет_мощности(10,5)
if рез > 40:
print("Мощность в норме: " + str(рез))
# Тест обработки ошибок (Try/Except)
try:
print("Проверка деления на ноль...")
ошибка = 10 / 0
except Exception as и:
print("ОШИБКА: Система перехватила деление на ноль!")
print(и)
# Финальный статус
бот.работа("Уборка мусора")
бот.статус()
print("=== ТЕСТ ЗАВЕРШЕН УСПЕШНО ===")