@nikitagithub00
Программист

Не могли бы вы оценить мой код на Python?

Итак мои знания это: База
Вот решил написать "Типо" игру (На самом деле это даже не игра, а отсылка)
Ну так вот к чему я это клоню, хочу попросить вас оценить мой код: Пойдёт ли он для новичка?, и есть ли у меня вообще будущее)(По возможности оценивайте по 10-ти бальной шкале)

аvailable_locations = ["Chaes", "Kordon"]    #Доступные локации
monolit = []                          #Списки в которых скоро будут персонажи
stalker = []
mutant = []

print(f"Welcome to колхозный S.T.A.L.K.E.R ёпт\nДоступные локации:{аvailable_locations}\n")       #Выводит список доступных локаций
a = input("Введите локацию: Пример(Kordon)\n>")
territory = {a: "Территория обитания меченого"}                  #Словарь в котором записана локация она понадобится для улсовных операторов
print("==============================================================")

if "Chaes" in territory: 
    for i in range(20):      
        mon = {"Name": "Monolit", "HP": 120, "Rang": "Master"}     #Создаю характеристику Монолита...
        monolit.append(mon)                   #Добавляю монолитовцев в выше указанный список
    for m in monolit:          #Вывожу название и характеристику монолитов
        print(m)
    print("Уууууу ты нарвался на монолитов")

elif "Kordon" in territory:
    for i in range(10):
        odinochki = {"Name": "Stalker", "HP": 100, "Rang": "Noob"}        #Создаю характеристику Сталкеров
        stalker.append(odinochki)       #Добавляю сталкеров в вышеуказанный список
    for o in stalker:             #Вывожу название и характеристику
        print(o)

    for x in range(5):            
        mut = {"Name": "Psevdosobaki", "HP": 90, "Rang": "None"}   
        mutant.append(mut)          #Добавляю мутантов в вышеуказанный список
    print("\n")
    for p in mutant:          #Вывожу Название и характеристику
        print(p)
    print("Не мельтеши особо и трогать тебя не будут ")

print("==============================================================")

pl = input()     #Это для того чтоб после завершения программы консоль сразу не выкидывала
  • Вопрос задан
  • 250 просмотров
Решения вопроса 1
@bituke
LOCATIONS = ["Chaes", "Kordon"]

def print_available_locations(locations):
    print(f"Welcome to колхозный S.T.A.L.K.E.R ёпт\nДоступные локации:{locations}\n")

def create_monolit(n=20):
    return [{"Name": "Monolit", "HP": 120, "Rang": "Master"} for i in range(n)]

def create_stalker(n=10):
    return [{"Name": "Stalker", "HP": 100, "Rang": "Noob"} for i in range(n)]

def create_mutant(n=5):
    return [{"Name": "Psevdosobaki", "HP": 90, "Rang": "None"} for i in range(n)]

def handle_location(location):
    if location == "Chaes":
        monolit = create_monolit()
        for mon in monolit:
            print(mon)
        print("Уууууу ты нарвался на монолитов")
    elif location == "Kordon":
        stalker = create_stalker()
        for st in stalker:
            print(st)
        mutant = create_mutant()
        for mu in mutant:
            print(mu)
        print("Не мельтеши особо и трогать тебя не будут ")
    else:
        print("Некорректное название локации")

def main():
    print_available_locations(LOCATIONS)
    location = input("Введите локацию: Пример(Kordon)\n>")
    print("==============================================================")
    handle_location(location)
    print("==============================================================")
    input()

if __name__ == '__main__':
    main()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Bright144
class Pers:

    def __init__(self, Name: str, HP: int, Rang: str) -> None:
        self.Name = Name
        self.HP = HP
        self.Rang = Rang

    def print_stat(self):
        print(self.__dict__)

аvailable_locations = ["Chaes", "Kordon"]    #Доступные локации
print(f"Welcome to колхозный S.T.A.L.K.E.R ёпт\nДоступные локации:{аvailable_locations}\n")       #Выводит список доступных локаций
a = input("Введите локацию: Пример(Kordon)\n>")
territory = {a: "Территория обитания меченого"}                  #Словарь в котором записана локация она понадобится для улсовных операторов
print("==============================================================")

if "Chaes" in territory:
    monolit = [Pers("Monolit", 120, "Master") for i in range(20)]
    [i.print_stat() for i in monolit]
    print("Уууууу ты нарвался на монолитов")
elif "Kordon" in territory:
    odinochki = [Pers("Stalker", 100, "Noob") for i in range(10)]
    [i.print_stat() for i in odinochki]
    print("\n")
    mut = [Pers("Psevdosobaki", 90, "None") for i in range(5)]
    [i.print_stat() for i in mut]
    print()
    print("Не мельтеши особо и трогать тебя не будут ")
print("==============================================================")
pl = input()     #Это для того чтоб после завершения программы консоль сразу не выкидывала

персонажов лучше сделать объектами, потом с легкости можешь добавить функционал или статы на классе Pers. На пример стат брони, урона, метод нанесение и получение урона.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы