С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/120: Рейтинг темы: голосов - 120, средняя оценка - 4.90
1 / 1 / 0
Регистрация: 03.04.2020
Сообщений: 29

Создать меню в консольном приложении

19.06.2020, 09:40. Показов 24443. Ответов 3

Студворк — интернет-сервис помощи студентам
Создать консольное приложение, которое в режиме диалога непрерывно запрашивает у пользователя ввод данных.

При очередном запросе приложение выводит список доступных команд и предлагает пользователю выбрать команду.

- Если пользователь вводит "Exit", приложение завершает свою работу.
- Если пользователь вводит "1", то приложение запрашивает у него ввод строки и вносит её в список строк.
- Если пользователь вводит "2", то приложение запрашивает у него ввод числа и вносит его в список чисел.
- Если пользователь вводит "3", то приложение запрашивает у него одну из функций: "прямой", "обратный" или "назад".
· Если пользователь указал "прямой", то приложение выводит текст, сформированный из строк первого списка в порядке их ввода.
· Если пользователь указал "обратный", то приложение выводит строки первого списка в порядке, обратном порядку их ввода.
· Если пользователь указал "назад", то приложение предлагает ему выбрать другую (цифровую) команду из списка команд верхнего уровня.
- Если пользователь вводит "4", то приложение запрашивает у него одну из функций: "количество", "сумма", "среднее" или "назад".
· Если пользователь указал "количество", то приложение выводит количество чисел во втором списке.
· Если пользователь указал "сумма", то приложение считает сумму чисел во втором списке.
· Если пользователь указал "среднее", то приложение считает среднее арифметическое чисел во втором списке.
· Если пользователь указал "назад", то приложение предлагает ему выбрать другую (цифровую) команду из списка команд верхнего уровня.

Дополнительные требования.
1. В случае если пользователь ввёл несуществующую команду, приложение уведомляет его об этом и предлагает ввести команду повторно.
2. Желательно, чтобы приложение понимало текстовые команды в любом регистре (введённые заглавными буквами, строчными буквами или смешанным регистром).

Буду каждому очень благодарен за составленную консоль, очень нужно в краткие сроки.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.06.2020, 09:40
Ответы с готовыми решениями:

Меню в консольном приложении
Есть приложение. Задаю какой-то вопрос: Dim key As String Console.WriteLine("Сменить дату? Y|N") key =...

Меню в консольном приложении
есть ошибки не могу исправить #include <iostream> #include <iomanip> #include <ctime> #include <cstdlib> using namespace std; ...

Меню в консольном приложении
Доброго времени суток. Вот необходимо сделать интерфейс в консольном приложении. Я его сделал с помощью Switch case, однако вот ту у меня...

3
12 / 7 / 6
Регистрация: 22.09.2019
Сообщений: 24
19.06.2020, 10:15
Лучший ответ Сообщение было отмечено Lord72 как решение

Решение

Lord72, ифы и элсы. Список команд сам прикрутишь))
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
string_list = []
num_list = []
 
def main():
    cmd = input("Введите команду: ")
    while cmd != "Exit":
        if cmd == "1":
            inpStr()
        elif cmd == "2":
            inpNum()
        elif cmd == "3":
            inpCmd()
        elif cmd == "4":
            printProperties()
        else:
            print("Такой команды нет!")
        cmd = input("Введите команду: ")
    return
 
def inpStr():
    n = input("Введите строку: ")
    string_list.append(n)
 
def inpNum():
    try:
        n = int(input("Введите целое число: "))
    except:
        print("Некорректные данные!")
    else:
        num_list.append(n)
 
def inpCmd():
    while True:
        n = input("Введите команду: ")
        if n == "прямой":
            for s in string_list:
                print(s)
        elif n == "обратный":
            for s in range(len(string_list)):
                print(string_list[len(string_list)-s])
        elif n == "назад":
            return
        else:
            print("Такой команды нет!")
 
def printProperties():
    while True:
        n = input("Введите команду: ")
        if n.lower() == "количество":
            print("Количество списка чисел:", len(num_list))
        elif n.lower() == "сумма":
            sum = 0
            for num in num_list:
                sum += num
            print("Сумма:", sum)
        elif n.lower() == "среднее":
            sum = 0
            for num in num_list:
             sum += num
            print("Среднее:", sum/len(num_list))
        elif n.lower() == "назад":
            return
        else:
            print("Такой команды нет!")
 
main()
1
1 / 1 / 0
Регистрация: 03.04.2020
Сообщений: 29
19.06.2020, 12:45  [ТС]
Цитата Сообщение от AntonyKozm Посмотреть сообщение
Lord72, ифы и элсы. Список команд сам прикрутишь))
За ответ огромное спасибо, но со списками особо нет времени "возекаться"
Было бы не плохо, если бы в консоль были встроенные списки, так как в питоне полный ноль))
0
1 / 1 / 0
Регистрация: 03.04.2020
Сообщений: 29
19.06.2020, 13:47  [ТС]
Нужно дополнить существующую наполовину сделанную консоль, а именно добавить список команд, к примеру, я ввожу "1", консоль запрашивает "введите строку:" я ввожу к примеру "2", программа "2" вносит в список строк.
Думаю смысл понятен)) Нужны в короткие сроки, каждому буду благодарен на ответ по теме.))
- Если пользователь вводит "1", то приложение запрашивает у него ввод строки и вносит её в список строк.
- Если пользователь вводит "2", то приложение запрашивает у него ввод числа и вносит его в список чисел.
- Если пользователь вводит "3", то приложение запрашивает у него одну из функций: "прямой", "обратный" или "назад".
· Если пользователь указал "прямой", то приложение выводит текст, сформированный из строк первого списка в порядке их ввода.
· Если пользователь указал "обратный", то приложение выводит строки первого списка в порядке, обратном порядку их ввода.
· Если пользователь указал "назад", то приложение предлагает ему выбрать другую (цифровую) команду из списка команд верхнего уровня.
- Если пользователь вводит "4", то приложение запрашивает у него одну из функций: "количество", "сумма", "среднее" или "назад".
· Если пользователь указал "количество", то приложение выводит количество чисел во втором списке.
· Если пользователь указал "сумма", то приложение считает сумму чисел во втором списке.
· Если пользователь указал "среднее", то приложение считает среднее арифметическое чисел во втором списке.
· Если пользователь указал "назад", то приложение предлагает ему выбрать другую (цифровую) команду из списка команд верхнего уровня.

Сам наполовину сделанная консоль:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
string_list = []
num_list = []
 
def main():
    cmd = input("Введите команду: ")
    while cmd != "Exit":
        if cmd == "1":
            inpStr()
        elif cmd == "2":
            inpNum()
        elif cmd == "3":
            inpCmd()
        elif cmd == "4":
            printProperties()
        else:
            print("Такой команды нет!")
        cmd = input("Введите команду: ")
    return
 
def inpStr():
    n = input("Введите строку: ")
    string_list.append(n)
 
def inpNum():
    try:
        n = int(input("Введите целое число: "))
    except:
        print("Некорректные данные!")
    else:
        num_list.append(n)
 
def inpCmd():
    while True:
        n = input("Введите команду: ")
        if n == "прямой":
            for s in string_list:
                print(s)
        elif n == "обратный":
            for s in range(len(string_list)):
                print(string_list[len(string_list)-s])
        elif n == "назад":
            return
        else:
            print("Такой команды нет!")
 
def printProperties():
    while True:
        n = input("Введите команду: ")
        if n.lower() == "количество":
            print("Количество списка чисел:", len(num_list))
        elif n.lower() == "сумма":
            sum = 0
            for num in num_list:
                sum += num
            print("Сумма:", sum)
        elif n.lower() == "среднее":
            sum = 0
            for num in num_list:
             sum += num
            print("Среднее:", sum/len(num_list))
        elif n.lower() == "назад":
            return
        else:
            print("Такой команды нет!")
 
main()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.06.2020, 13:47
Помогаю со студенческими работами здесь

Использование меню в консольном приложении
Всем привет.Как правильно сделать меню?static public void Menu() { Console.Clear(); //Выводим меню, его пункты с соответствующими...

Создание меню в консольном приложении
Здравствуйте! Недавно почувствовал уверенность в начальных знаниях C#. Решил создать консольную игру, в которой присутствует меню и из него...

Создание меню в консольном приложении
Здравствуйте! Нужно создать меню. Каждый пункт в меню - программа, т.е. в меню можно выбирать какую программу запустить. Подскажите...

Как реализовать меню в консольном приложении
нЕсть класс А, этот класс отображает меню из n пунктиков и кнопка('q') выхода, кликая на один из пунктиков(набирая его индекс или как...

Меню в консольном приложении для win32
Здравствуйте! Написать консольное приложение (кишки описывать не буду) с меню и выпадающими списками. http://smotr.im/5cN7 (пример...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru