Я написал небольшой код, который просит у пользователей слова и то слово, что короче, выигрывает. Теперь хочу добавить тоже самое, только выигрывать должно самое длинное слово, только наследую части от уже готового кода.
И теперь пытаюсь понять как с помощью наследования и переопределения, красиво и правильно написать, с точки зрения ООП это.
import random
class Sanapeli():
def __init__(self, kierrokset: int):
self.voitot1 = 0
self.voitot2 = 0
self.kierrokset = kierrokset
def kierroksen_voittaja(self, pelaaja1_sana: str, pelaaja2_sana: str):
# arvotaan voittaja
return random.randint(1, 2)
def pelaa(self):
print("Sanapeli:")
for i in range(1, self.kierrokset+1):
print(f"kierros {i}")
vastaus1 = input("pelaaja1: ")
vastaus2 = input("pelaaja2: ")
if self.kierroksen_voittaja(vastaus1, vastaus2) == 1:
self.voitot1 += 1
print("pelaaja 1 voitti")
elif self.kierroksen_voittaja(vastaus1, vastaus2) == 2:
self.voitot2 += 1
print("pelaaja 2 voitti")
else:
pass # tasapeli
print("peli päättyi, voitot:")
print(f"pelaaja 1: {self.voitot1}")
print(f"pelaaja 2: {self.voitot2}")
p = Sanapeli(3)
p.pelaa()
Я правильно понимаю, что должен создать новый класс, который будет вызывать методы от уже написанного кода?