Не меняется язык в программе

888DeMoN888

Новичок
Пользователь
Янв 17, 2022
15
2
3
Python:
name = input('Enter your name please:')
print('Hello,', name + '!')
lang = 'ENG'
def language():
    lang1 = input('Enter ENG or RUS: ')
    if lang1.lower() == 'eng':
        lang = 'ENG'
    if lang1.lower() == 'rus':
        lang = 'RUS'
    else:
        print('You entered an incorrect value!')
    menu()
    command()
def command():
    if lang == 'ENG':
        i = int(input('Enter number command: '))
        if i == 1:
            about_the_bot()
        elif i == 2:
            chat()
        elif i == 3:
            calc()
        elif i == 4:
            language()
        elif i == 5:
            about_the_programm()
        elif i == 6:
            exit
        else:
            print('You entered an incorrect value!')
    elif lang == 'RUS':
        w = int(input('Введите номер команды: '))
        if w == 1:
            about_the_bot()
        elif w == 2:
            chat()
        elif w == 3:
            calc()
        elif w == 4:
            language()
        elif w == 5:
            about_the_programm()
        elif w == 6:
            exit
        else:
            print('You entered an incorrect value!')
        menu()
        command()
def about_the_programm():
    if lang == 'ENG':
        print('Version 1.0.0')
        print('Date of creation 16.01.2022')
        io = input('Enter any other to exit: ')
        if io == 'o':
            menu()
            command()
        else:
            menu()
            command()
    elif lang == 'RUS':
        print('Версия 1.0.0')
        print('Дата создания 16.01.2022')
        io = input('Введите любое значение для выхода: ')
        if io == 'o':
            menu()
            command()
        else:
            menu()
            command()
def menu():
    if lang == 'ENG':
        print('______________________________')
        print('List of commands:')
        print('')
        print('1 - About me')
        print('2 - Chat with me')
        print('3 - Calculator')
        print('4 - Language')
        print('5 - About this program')
        print('6 - Exit')
        print('______________________________')
    elif lang == 'RUS':
        print('______________________________')
        print('Список команд:')
        print('')
        print('1 - Обо мне')
        print('2 - Болтать со мной')
        print('3 - Калькулятор')
        print('4 - Язык')
        print('5 - О программе')
        print('6 - Выход')
        print('______________________________')
def calc():
    if lang == 'ENG':
        print(eval(input('Enter example: ')))
        it = input('Enter r to restart or any other value to exit: ')
        if it == 'r' or 'R':
            calc()
        else:
            menu()
            command()
    elif lang == 'RUS':
        print(eval(input('Введите пример: ')))
        it = input('Введите r для перезапуска или любое другое значение для выхода: ')
        if it == 'r' or it == 'R':
            calc()
        else:
            menu()
            command()
def about_the_bot():
    if lang == 'ENG':
        print('______________________________')
        print('I am bot Robert, I was created on 16.01.2022.')
        print('I do not know much, but I am improving every day.')
        print('')
        print('______________________________')
        io = input('Enter any other to exit: ')
        if io == 'o':
            menu()
            command()
        else:
            menu()
            command()
    elif lang == 'RUS':
        print('______________________________')
        print('Я бот Роберт, меня создали 16.01.2022.')
        print('Я могу не многое, но меня дополняют каждый день.')
        print('')
        print('______________________________')
        io = input('Введите любое значение для выхода: ')
        if io == 'o':
            menu()
            command()
        else:
            menu()
            command()
def chat():
    if lang == 'ENG':
        print('Hi, what are we going to talk about?')
        print('I can tell a anecdote')
        print('Do you want this?')
        answer = input('Enter Yes or No: ')
        if answer == 'Yes':
            print('--------------------')
            print('Theman with hisson came to thezoo. Themother asks theson later:')
            print('-Honey,what animal doyou likebestof allin thezoo?')
            print('-Thetiger!')
            print('-And who doesyour father like best ofall?')
            print('-Thekitty!')
            print('-What Kitty? Arethereany catsinthezoo?')
            print('-No,but my father likes the Kitty, which wassitting in thecash and selling tickets.')
            print('HA-HA-HA-HA')
            print('')
            ip = input('Enter q to exit ')
            if ip == 'q':
                menu()
                command()
        elif answer == 'No':
            print('Okay...')
            io = input('Enter any other to exit: ')
            if io == 'o':
                menu()
                command()
            else:
                menu()
                command()
    elif lang == 'RUS':
        print('Привет, о чём поболтаем?')
        print('Я могу рассказать анекдот')
        print('Ты хочешь же этого?')
        answer1 = input('Введи Да или Нет: ')
        if answer1 == 'Да' or answer1 == 'ДА' or answer1 == 'да':
            print('--------------------')
            print('Мужчина с сыном пришли в зоопарк. Позже мать спрашивает сына:')
            print('-Милый,какое животное тебе больше всего нравится в зоопарке?')
            print('-Тигр!')
            print('-а кто понравился отцу больше всего?')
            print('-Кошечка!')
            print('-Какая кошечка? В зоопарке есть кошки?')
            print('-Нет,но моему отцу понравилась Кошечка,которая сидела в кассе и продавала билеты.')
            print('HA-HA-HA-HA')
            print('')
            io = input('Введите любое значение для выхода: ')
            if io == 'o':
                menu()
                command()
            else:
                menu()
                command()
        elif answer1 == 'Нет' or answer1 == 'НЕТ' or answer1 == 'нет':
            print('Ладно...')
            io = input('Введите любое значение для выхода: ')
            if io == 'o':
                menu()
                command()
            else:
                menu()
                command()
menu()
command()
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
if answer1 == 'Нет' or answer1 == 'НЕТ' or answer1 == 'нет':
это решается через lower or upper по желанию и много чего упростить можно
а по вопросу, странный у Вас подход, если скопипастили и там недочёт то понятно, я если сами писали, то неужели изначально на маленьком кусочке нельзя было добиться смены языка? а так это выглядит как "портянка" которую страшно к себе копировать и смотреть, обычно добиваются не более 1-го экрана
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Не меняется язык в программе
Не меняется потому, что вы его меняете локально внутри функции, а вне функции значение остается прежним.
Чтобы исправить можно добавить в функцию указание использовать глобальную переменную lang вместо локальной:
Python:
lang = 'ENG'
def language():
    global lang  # использование глобальной переменной
    lang1 = input('Enter ENG or RUS: ')
    if lang1.lower() == 'eng':
        lang = 'ENG'
    if lang1.lower() == 'rus':
        lang = 'RUS'
    else:
        print('You entered an incorrect value!')
    menu()
    command()
 

Форум IT Специалистов