1.8 KiB
Executable File
1.8 KiB
Executable File
Рабочая тетрадь № 6
Задачи № 1
№ 1
def function(string: str) -> str:
half_length = len(string) // 2
return string[:half_length][::-1] + string[half_length:][::-1]
some_string = "привет"
print(function(some_string))
№ 2
def is_valid_bracket_structure(expression: str) -> bool:
stack = []
bracket_pairs = {')': '(', '}': '{', ']': '['}
for char in expression:
if char in bracket_pairs.values():
stack.append(char)
elif char in bracket_pairs.keys():
if not stack or bracket_pairs[char] != stack.pop():
return False
return not stack
expression = ")(, ())((), (, )))), ((())" # "(), (())(), ()(), ((()))"
if is_valid_bracket_structure(expression):
print("Скобочная структура правильная.")
else:
print("Скобочная структура неправильная.")
Задачи № 2
№ 1
import random
class Warrior:
def __init__(self, name: str, health: int = 100):
self.name = name
self.health = health
def attack(self, enemy: Warrior):
print(f"{self.name} атакует {enemy.name}")
enemy.health -= 20
print(f"У {enemy.name} осталось {enemy.health} единиц здоровья")
warrior1 = Warrior("Воин 1")
warrior2 = Warrior("Воин 2")
while warrior1.health > 0 and warrior2.health > 0:
attacker = random.choice([warrior1, warrior2])
defender = warrior2 if attacker == warrior1 else warrior1
attacker.attack(defender)
if warrior1.health <= 0:
print(f"{warrior2.name} одержал победу!")
elif warrior2.health <= 0:
print(f"{warrior1.name} одержал победу!")
else:
print("Бой окончен в ничью.")