• Что еще можно добавить?

    Vindicar
    @Vindicar
    RTFM!
    Мой совет: сделай каждую команду отдельной функцей вида:
    # ': str' - это type hint. На выполнение не влияет, оно в первую очередь для читаемости. Можешь пока пропустить.
    def command_plus(args: str):  # функция получает аргумент как строку, вместо вызова input().
            "Складывает указанные числа."  # doc-string содержит человекочитаемое описание функции
            print("Калькулятор на сложение")
            parts = [int(part) for part in args.split()]  # операции со строками, list comprehensions
            if not parts:  # какие значения в питоне истинные (truey), какие ложные (falsy)?
                    parts.append(int(input("1-е число: ")))
                    parts.append(int(input("2-е число: ")))
            res = sum(parts)
            print(f"Результат: {res}")  # f-строки

    Далее, научись работать со словарями:
    # словарь, содержащий имя команды и её функцию
    commands = {
            'calc +': command_plus,
            # тут будут другие команды
    }

    Тогда рабочий цикл будет примерно таким:
    while True:
            cmd = input('Введите команду: ')  # например, "calc + 2 3 5"
            for cmd_name, cmd_func in commands.items():  # цикл for, операции со словарями
                    if cmd.startswith(cmd_name):  # операции со строками
                            cmd = cmd[len(cmd_name):]  # срезы (slice)
                            try:  # обработка исключений
                                    cmd_func(cmd)
                            except Exception as err:
                                    print(f"Произошла ошибка: {err}")
                            break  # операторы передачи управления
            else:  # Как работает оператор else: совместно с циклами?
                    if cmd == 'exit':
                            print('До свиданья')
                            break # прерываем while
                    else:
                            print(f"Неизвестная команда: {cmd}")

    Будет куда проще читать код и расширять функциональность.
    Ну и почитай по темам, которые я упомянул в комментариях.
    Ответ написан
    Комментировать
  • Как сделать так чтобы скрипт после своего выполнения не останавливал программу а просто открыл еще одну строку для ввода другой команды?

    @ultraevs
    Student
    Решение:
    n1 = input("Say something: ")
    if n1 == 'Hello SCUB' or 'start' or 'scub' :
        n2 = input("Hello, This is S.C.U.B. - Special Custom Unified Bot v0.1 How can I help you? ")
    while n2 != '':
        if n2 == 'calc +':
            num_1 = int(input("1st num: "))
            num_2 = int(input("2nd num: "))
            res = num_1 + num_2
            print("Result is:", res)
            n2 = input()
        if n2 == 'calc -':
            num_11 = int(input("1st num: "))
            num_22 = int(input("2nd num: "))
            res = num_11 - num_22
            print("Result is:", res)
            n2 = input()
        if n2 == 'calc *':
            num_111 = int(input("1st num: "))
            num_222 = int(input("2nd num: "))
            res = num_111 * num_222
            print("Result is:", res)
            n2 = input()
        if n2 == 'calc /':
            num_1111 = int(input("1st num: "))
            num_2222 = int(input("2nd num: "))
            res = num_1111 / num_2222
            print("Result is:", res)
            n2 = input()
        if n2 == 'help':
            print("List of cmds avaliable on SCUB v0.1:"
            " ;help (Help or help or cmds"
            " ;Calculator(calc +,-,*,/)")
            n2 = input()
    Ответ написан
    4 комментария