@shegy_fox

Как вернуться назад к функции?

Как мне задать пользователю вопрос, хочет-ли он вернуться назад к прошлой функции
К примеру: Вернуться назад к выбору персонажей?[Да/Нет]:

#БИБЛИОТЕКИ
from colorama import Fore, Back, Style
from random import randint
import time
import datetime
import webbrowser


#print("Вывод случайного числа: ", randint(5, 12))
#exit() - закончить определеннный ход строк (if/elif/else) и др.
#создание новой переменной, для продолежния первой в другой IF.
#создание таблицы с деньгами игрока и другими важными факторами.



#НАЧАЛО!
print(Fore.LIGHTWHITE_EX +"...................................................START...................................................")
time.sleep(1.5)
print(Fore.LIGHTWHITE_EX +"Доброго времени суток, ты попал в мини-игру, где тебе, нужно будет сместить врагов с земли, и стать королём.\n")
time.sleep(1.5)
print(Fore.LIGHTWHITE_EX +"Примечание:", Fore.LIGHTCYAN_EX + "\nГолубой цвет",Fore.LIGHTWHITE_EX +"- слова автора",Fore.LIGHTGREEN_EX +"\nЗелёный цвет ",Fore.LIGHTWHITE_EX +"- слова героя",Fore.LIGHTWHITE_EX +"\nБелый цвет - слова сервера",Fore.LIGHTRED_EX +"\nКрасный цвет ", Fore.LIGHTWHITE_EX +"- возникновение ошибки/завершение\n")
time.sleep(2)
print(Fore.LIGHTWHITE_EX +"В этой игре вы сможете выбрать себе персонажа(в будующем будет создание персонажа), также вы сможете прочесть историю персонажа.")
time.sleep(2)
print(Style.RESET_ALL)
#ФУНКЦИИ {DEV} ФУНКЦИЯ ПЕРСОНАЖЕЙ(НЕ ТРОГАТЬ)
def convert():
    person_user = str(input(Fore.LIGHTWHITE_EX+"* Перед началом, выбери себе героя с разными характеристиками и историей[1, 2, 3]: "))
    time.sleep(2)
    print('')
    if person_user == "1":
        print(person1['user_1']['name1'])
        print(person1['user_1']['username1'])
        print(person1['user_1']['age1'])
        print(person1['user_1']['genus1'])
        print(person1['user_1']['special1'])
        print(person1['user_1']['charac1'])
        print(person1['user_1']['ability1'])
    elif person_user == "2":
        print(person2['user_2']['name2'])
        print(person2['user_2']['username2'])
        print(person2['user_2']['age2'])
        print(person2['user_2']['genus2'])
        print(person2['user_2']['special2'])
        print(person2['user_2']['charac2'])
        print(person2['user_2']['ability2'])
    elif person_user == "3":
        print(person3['user_3']['name3'])
        print(person3['user_3']['username3'])
        print(person3['user_3']['age3'])
        print(person3['user_3']['genus3'])
        print(person3['user_3']['special3'])
        print(person3['user_3']['charac3'])
        print(person3['user_3']['ability3'])
    else:
        print(Fore.LIGHTRED_EX +"Вы ввели невалидное значение!")
        print(Style.RESET_ALL)
        exit()

#ОТКРЫТИЕ ДОКУМЕНТА(ЛОР)
file_user1 = open('creature/history.txt', 'r', encoding='utf-8')
fileA = file_user1.read()

print('')
def file():
    q_file_user = input(str(Fore.LIGHTWHITE_EX + "* Хотите-ли ознакомиться с историей своего персонажа?[Да/Нет]: "))
    if q_file_user == "Да" or q_file_user == "да":
        print(fileA)
    elif q_file_user == "Нет" or q_file_user == "нет":
        print("Пропускаем старание разработчика :(")
    else:
        print(Fore.LIGHTRED_EX +"!Вы ввели невалидное значение.")
        print(Style.RESET_ALL)
     
file_user1.close()     

#СОЗДАНИЕ СТРУКТУРУ ОПИСАНИЯ МЕЧЕЙ/ОРУДИЯ(НЕ ТРОГАТЬ)
sword1 = {
    "_sword1": {
        'namesword': 'Название меча: ',
        'damagesword': 'Урон меча: ',
        'rangesword': 'Дальность атаки: ',
    }
}

#СОЗДАНИЕ СТРУКТУРУ ОПИСАНИЯ ПЕРСОНАЖЕЙ(НЕ ТРОГАТЬ)

person1 = {
    "user_1": {
        'name1': 'Имя: Huowee',
        'username1': 'Фамилия: Wilson',
        'age1': 'Возраст: 27',
        'genus1': 'Род: Человек',
        'special1': 'Специальность: Охотник',
        'charac1' : 'Характеристики: Сила: 17, Интелект: 6, Ловкость: 7',
        'ability1': 'Способность: Нет',

    }
}

person2 = {
    "user_2": {
        'name2': 'Имя: Касум',
        'username2': 'Фамилия: Кандауров',
        'age2': 'Возраст: 27',
        'genus2': 'Род: Человек',
        'special2': 'Специальность: Скрытый Киллер',
        'charac2': 'Характеристики: Сила: 6, Интеллект: 9, Ловкость 15',
        'ability2': 'Способность: Да',
    }
}


person3 = {
    "user_3": {
        'name3': 'Имя: Хабиб',
        'username3': 'Фамилия: Камалудинов',
        'age3': 'Возраст: 16',
        'genus3': 'Род: Человек',
        'special3': 'Специальность: Колдун',
        'charac3': 'Характеристики: Сила: 9, Интеллект: 15, Ловкость: 6',
        'ability3': 'Способность: да',
    }
}

#ОСНОВА ИГРЫ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
print(Style.RESET_ALL)
game_quest = input(str(Fore.LIGHTWHITE_EX +"* Если ты готов, то введи значение в поле[Да/Завершить игру]: "))

#СПИСКИ
user_list = [0, "Вооружение:", 100, 0, "ПОКА НЕ ИСПОЛЬЗЛЬВАНО 100"]
user_list2 = []

#ФУКНЦИЯ game_quest

if game_quest == "Да" or game_quest == "да":
    time.sleep(2)
    print(Back.BLACK)
    print("............................НАЧАЛО ИСТОРИИ............................")
    time.sleep(2)
    print(Fore.LIGHTCYAN_EX +"# Здравствуй странник, ты попал в царское подземелье.")
    time.sleep(2)
    print(Fore.LIGHTCYAN_EX +"# Тут тебе придётся сразиться с врагами дабы занять трон!")
    time.sleep(2)
    print(Fore.LIGHTCYAN_EX +"# У тебя будет выбор в вооружении, поэтому последствия зависят только от тебя.")
    time.sleep(2)
    print(f"# На данный момент у тебя на счету:", user_list[0],"монет,", user_list[1],"отсутствует.") #ИЗМЕНИТЬ
    time.sleep(2)
    a = print(f"# Также у вас есть 2 состояния, это: 'Здоровье:",user_list[2],"'"" и 'Броня:",user_list[3],"'.")
    time.sleep(2)
    print("# Броню ты можешь выбить из ящиков!")
    time.sleep(1.5)
    print(Style.RESET_ALL)
elif game_quest == "Завершить игру" or game_quest == "завершить игру" or game_quest == "завершитьигру":
    print(Fore.LIGHTRED_EX + "!Игра завершилась.")
    print(Style.RESET_ALL)
    exit()
else:
    print(Fore.LIGHTRED_EX +"!Вы ввели невалидное значение.")
    print(Style.RESET_ALL)
    exit()
    
#ФУКНЦИЯ game_quest2
time.sleep(2)
game_quest2 = input(str(Fore.WHITE +"* Продолжить дальше путешествие по подземелью?[Да/Нет]: "))
if game_quest2 == "Да" or game_quest2 == "да":
    time.sleep(3)
    print(Fore.LIGHTCYAN_EX +"# Дорога дальняя тебя завела в глушь, скамкивая руками последнюю бутыль воды, ты ищешь любое убежище.") #изменить
    time.sleep(3)
    print(Fore.LIGHTGREEN_EX +"+ Чёрт.. куда это меня забрело? Как же болит голова...\n") #изменить
    time.sleep(3)
    print(Fore.LIGHTCYAN_EX +"# Вдруг, на в твоих глазах виднеются две хижины, на вид обычная деревенская хижина.")
    time.sleep(3)
    print(Fore.LIGHTGREEN_EX +"+ Хотя-бы что-то, слава Богу.\n") #изменить
    time.sleep(3)
    print(Fore.LIGHTCYAN_EX +"# Тебе предстоит выбрать хижину, от этого и пойдёт твоя сюжетная линия!") #изменить
    time.sleep(3)
    print(Style.RESET_ALL)
elif game_quest2 == "Нет" or game_quest2 == "нет":
    print(Fore.LIGHTRED_EX +"!Игра завершилась")
    print(Style.RESET_ALL)
    exit()
else:
    print(Fore.LIGHTRED_EX +"!Вы ввели невалидное значение.")
    print(Style.RESET_ALL)
    exit()


#ФУКНЦИЯ game_quest3
game_quest3 = input(str(Fore.WHITE +"* Какую хижину ты выберешь?[1/2]: "))

if game_quest3 == "1":
    time.sleep(1.5)
    print(Fore.LIGHTCYAN_EX + "# Хорошо, ты выбрал хижину под номером '1'")
    time.sleep(2)
    print(Fore.LIGHTCYAN_EX + "# Зайдя в эту хижину, вы почуствовали легкий холодок по телу.")
    time.sleep(2)
    print(Fore.LIGHTGREEN_EX + "+ Брр... что за жуть, что это за место?..")
elif game_quest3 == "Нет":
    print(Fore.LIGHTRED_EX +"!Игра завершилась")
    print(Style.RESET_ALL)
    exit()
else:
    print(Fore.LIGHTRED_EX +"!Вы ввели невалидное значение.")
    print(Style.RESET_ALL)
    exit()
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
ittadoru
@ittadoru
Новичок Python
Тебе нужно просто создать цикл while, в котором будет условие, при выполнении которого снова вызовется функция конверт(), а при не выполнении условия просто остановка цикла, я как раз сам натыкался на эту ситуацию, я попробовал подогнать код под тебя, попробуй вставить её в месте, где хочешь задать вопрос этот:

convert()
while True:
    person_relog = input(str("*Хотите-ли вы вернуться назад, к выбору персонажей?[Да/Нет]: "))
    if person_relog == "Да" or person_relog == "да":
        convert()
    else:
        break
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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