Я внес некоторые изменения в ваш код и использовал базовое c наследование для достижения вашей цели.
Надеюсь, это то, что вы ищете! Вы должны добавить столько местоположений, сколько хотите в классе LandArea, и сослаться на них в дочернем классе Start_PubG.
class LandArea:
def bootcamp(self):
print ('You are landed in Bootcamp!')
def docks(self):
print('You are landed in Docks!')
class Start_PubG(LandArea):
def choose_land(self):
print('You are in the plane. Choose where to land!')
land_area = input('->')
if land_area.lower() == 'bootcamp':
super().bootcamp()
elif land_area.lower() == 'docks':
super().docks()
else:
print('Landed with bots')
obj = Start_PubG()
obj.choose_land()
***** Добавлено после вашего комментария: ******
Эй, ваш сценарий должен быть реализован с использованием того же подхода, что и выше, но с двумя разными классами, как вы настаивали. Ниже приведен код того же,
class Bootcamp:
def bootcamp(self):
print ('You are landed in Bootcamp!')
class Docks:
def docks(self):
print('You are landed in Docks!')
class Start_PubG(Bootcamp, Docks):
def choose_land(self):
print('You are in the plane. Choose where to land!')
land_area = input('->')
if land_area.lower() == 'bootcamp':
super().bootcamp()
elif land_area.lower() == 'docks':
super().docks()
else:
print('Landed with bots')
obj = Start_PubG()
obj.choose_land()
Я также предполагаю, что вы хотели бы преобразовать ввод пользователя в ссылку на объект Python. В таком случае вы должны использовать функцию eval () для достижения своей цели. Ниже приведен подход к тому же. Но убедитесь, что ввод, предоставленный пользователем, чувствителен к регистру и не поврежден с именами классов, поскольку строки напрямую преобразуются в объекты python и вызываются, поэтому, когда вызывается несуществующий объект python, этот код выдает ошибку . [В отличие от предыдущих подходов, этот подход не может быть обработан без учета регистра]
class Bootcamp:
def bootcamp(self):
print ('You are landed in Bootcamp!')
class Docks:
def docks(self):
print('You are landed in Docks!')
class Start_PubG(Bootcamp, Docks):
def choose_land(self):
print('You are in the plane. Choose where to land!')
land_area = input('->')
if land_area == 'Bootcamp':
obj_ref = eval(land_area)
obj_ref().bootcamp()
elif land_area == 'Docks':
obj_ref = eval(land_area)
obj_ref().docks()
else:
print('Landed with bots')
obj = Start_PubG()
obj.choose_land()