Нужно сделать так, чтоб команды писались в одну строчку. К примеру:
«EDIT 5 Придумать нормальный список дел
После консоль бы выдавала:
Найти деньги
Попросить у кого-то деньги
Заработать деньги
Придумать нормальный список дел
Напечатать деньги самому.»
Я не понимаю как можно это реализовать.
//Знаю, что небольшие проблемы с командой ADD. Они будут исправлены чуть позже:)//
Ответы (3 шт):
public static void main(String[] args) < String deals; String nameOfList; String deleteList; int deleteDeal; System.out.println(«Выберите действие и введите код команды: 1 — ADD 2 — EDIT 3 — DELETE4 — LIST»); System.out.println(«Найти деньги»); System.out.println(«Попросить у кого-то деньги»); System.out.println(«Заработать деньги»); System.out.println(«Украсть у кого-то деньги»); System.out.println(«Напечатать деньги самому»); Scanner scanner = new Scanner(System.in); ListtodoList = new LinkedList<>();
Но не в деньгах счастье, уж поверьте
Циклический сдвиг списка. Язык программирования Python
Вдруг кому будет интересно:
public static ArrayList deeds = new ArrayList<>() >; public static String comm(String[] string) < return string[0].trim(); >public static int ind(String[] string) < return Integer.parseInt(string[1].trim()); >public static String scanDeed(String[] string, int index) < StringBuilder sb = new StringBuilder(); for (int i = index; i < string.length; i++) < sb.append(string[i]).append(» «); >return sb.toString().trim(); > public static void main(String[] args) < Scanner scanner = new Scanner(System.in); String str = » «; while (!str.equals(«EXIT»)) < System.out.println(«Введите команду или «EXIT» для завершения: «); str = scanner.nextLine(); String[] commands = str.split(«\s+»); String command = » «; String deed = null; int index = -1; if (str.matches(«^[\p]+»)) < command = str.trim(); >else if (str.matches(«^[\p]+\s+\d+»)) < command = comm(commands); index = ind(commands); >else if (str.matches(«^[\p]+\s+\d+.+»)) < command = comm(commands); index = ind(commands); deed = scanDeed(commands, 2); >else if (str.matches(«^[\p]+.+»)) < command = comm(commands); deed = scanDeed(commands, 1); >else < System.out.println(«Неверная команда.»); >switch (command) < case («LIST»): System.out.println(«Список дел:»); for (int i = 0; i < deeds.size(); i++) < System.out.println(«Работа номер: » + i + » » + deeds.get(i)); >break; case («ADD»): if (index > -1 index < deeds.size()) < deeds.add(index, deed); System.out.println(«Добавлена работа «» + deed + «» с индексом » + index); >else if (index > deeds.size()) < System.out.println(«Укажите индекс не более » + (deeds.size() — 1)); >else < deeds.add(deed); >break; case («EDIT»): if (index > -1 index < deeds.size()) < deeds.set(index, deed); System.out.println(«Работа под индексом » + index + » изменена на «» + deed + «»»); >else < System.out.println(«Неверная команда. Укажите индекс редактируемого дела» + » значением не более » + (deeds.size() — 1)); >break; case («DELETE»): if (index > -1 index < deeds.size()) < deeds.remove(index); System.out.println(«Работа с индексом » + index + » удалена»); >else < System.out.println(«Неверная команда. Укажите индекс удаляемого дела» + » значением не более » + (deeds.size() — 1)); >break; case («EXIT»): System.out.println(«Работа завершена.»); break; default: System.out.println(«Такой команды нет. nДоступные команды: LIST, ADD, EDIT, DELETE.»); > > >
Вот вариант решения
Пишу реальную программу. Парсинг текстового файла. Python + Pandas + Excel.
import java.util.ArrayList; import java.util.Scanner; public class Main < public static void main(String[] args) < System.out.println(«Список команд: nLIST — выводит дела с их порядковыми номерами;» + «nADD — добавляет дело в конец списка или дело на определённое место, сдвигая остальные дела вперёд, если указать номер;» + «nEDIT — заменяет дело с указанным номером; nDELETE — удаляет; nВызовите команду:»); Scanner scanner = new Scanner(System.in); ArrayListtodoList = new ArrayList<>() >; while (true) < String comanda = scanner.nextLine(); String[] naSlova = comanda.split(» «); for (int i = 0; i < naSlova.length; i++) < if (naSlova[i].equals(«LIST»)) < for (int j = 0; j < todoList.size(); j++) < System.out.println(todoList.get(j)); >> else if (naSlova[0].equals(«ADD») naSlova.length == 2) < todoList.add(naSlova[1]); System.out.println(«Вы добавили новое дело в конец списка:»); for (int j = 0; j < todoList.size(); j++) < System.out.println(todoList.get(j)); >break; > else if (naSlova[0].equals(«ADD») naSlova.length > 2) < todoList.add(Integer.parseInt(naSlova[1]) — 1, naSlova[2]); System.out.println(«Вы добавили новое дело: » + naSlova[2] + «, в позицию номер: » + naSlova[1] + «nИзмененный список дел:»); for (int j = 0; j < todoList.size(); j++) < System.out.println(todoList.get(j)); >break; > else if (naSlova[0].equals(«EDIT») naSlova.length == 3) < todoList.set(Integer.parseInt(naSlova[1]) — 1, naSlova[2]); System.out.println(«Вы заменили дело в позиции номер: » + naSlova[1] + » на: » + naSlova[2] + «nИзмененный список дел:»); for (int j = 0; j < todoList.size(); j++) < System.out.println(todoList.get(j)); >break; > else if (naSlova[0].equals(«DELETE») naSlova.length == 2) < System.out.println(«Вы удалили дело » + todoList.get(Integer.parseInt(naSlova[1]) — 1) + «, которое было в позиции номер: » + naSlova[1] + «nИзмененный список дел:»); todoList.remove(Integer.parseInt(naSlova[1]) — 1); for (int j = 0; j < todoList.size(); j++) < System.out.println(todoList.get(j)); >break; > else < System.out.println(«Не верная команда. Вызовите правильну команду:»); >break; > > > >
Источник: husl.ru
Написать программу список дел, которая спрашивает у пользователя значение n, после этого запрашивает
на ввод n строк различных дел и сохраняет их в список, а после записывает значения из списка через одно в файл в одну строку. все это на языке программирования Python, Очень прошу помогите!
Ответы на вопрос
Отвечает Сидорусь Елизавета.
Вот моё решение:
# Запрашиваем у пользователя количество дел
n = int(input(«Введите количество дел: «))
# Создаем список дел
# Запрашиваем у пользователя описания дел и добавляем их в список
for i in range(n):
task = input(«Введите описание дела: «)
# Открываем файл для записи
with open(«tasks.txt», «w») as f:
# Записываем список дел в файл, разделяя их символом новой строки
# Открываем файл для записи
with open(«tasks.txt», «a») as f:
# Преобразуем список в строку, разделяя элементы пробелом
tasks_str = » «.join(map(str, tasks[::2]))
# Записываем значения строки через одно в файл
f.write(«n» + «n» + tasks_str)
# Открываем файл и считываем его содержимое
with open(«tasks.txt», «r») as f:
# Выводим содержимое в консоль
Погулять с собакой
Сделать уроки Погулять с собакой
Отвечает Ермольников Виктор.
Ответ:
n = int(input(«Введите количество дел: «))
for i in range(n):
task = input(«Введите описание дела: «)
with open(«tasks.txt», «w») as f:
tasks_str = » «.join(map(str, tasks))
with open(«tasks.txt», «r») as f:
Объяснение:
n = int(input(«Введите количество дел: «))
# Запрашиваем кол-во дел
# Создаем пустой список
for i in range(n):
# цикл который будет повторяться столько, сколько задал пользователь ранее
task = input(«Введите описание дела: «)
# Запрашивается описание дела
# Добавляет его в список
with open(«tasks.txt», «w») as f:
# Открываем файл tasks.txt под переменной w (Только для записи. Создаст новый файл, если не найдет с указанным именем)
tasks_str = » «.join(map(str, tasks))
# Создаем строку с данными из нашего списка. (Пробел между кавычками нужен для того чтобы данные указывались с отступом)
# Вписываем наши значения в файл
with open(«tasks.txt», «r») as f:
# Открываем файл уже для чтения
# Считываем наш файл, а считанное записываем в переменную tasks
# Ввыводим наш список
Источник: uznavalka.pro
Написать программу список дел которая спрашивает у пользователя значение n
Вот моё решение:
# Запрашиваем у пользователя количество дел
n = int(input(«Введите количество дел: «))
# Создаем список дел
# Запрашиваем у пользователя описания дел и добавляем их в список
for i in range(n):
task = input(«Введите описание дела: «)
# Открываем файл для записи
with open(«tasks.txt», «w») as f:
# Записываем список дел в файл, разделяя их символом новой строки
# Открываем файл для записи
with open(«tasks.txt», «a») as f:
# Преобразуем список в строку, разделяя элементы пробелом
tasks_str = » «.join(map(str, tasks[::2]))
# Записываем значения строки через одно в файл
f.write(«n» + «n» + tasks_str)
# Открываем файл и считываем его содержимое
with open(«tasks.txt», «r») as f:
# Выводим содержимое в консоль
Погулять с собакой
Сделать уроки Погулять с собакой
3 votes Thanks 0
Ответ:
n = int(input(«Введите количество дел: «))
for i in range(n):
task = input(«Введите описание дела: «)
with open(«tasks.txt», «w») as f:
tasks_str = » «.join(map(str, tasks))
with open(«tasks.txt», «r») as f:
Объяснение:
n = int(input(«Введите количество дел: «))
# Запрашиваем кол-во дел
# Создаем пустой список
for i in range(n):
# цикл который будет повторяться столько, сколько задал пользователь ранее
task = input(«Введите описание дела: «)
# Запрашивается описание дела
# Добавляет его в список
with open(«tasks.txt», «w») as f:
# Открываем файл tasks.txt под переменной w (Только для записи. Создаст новый файл, если не найдет с указанным именем)
tasks_str = » «.join(map(str, tasks))
# Создаем строку с данными из нашего списка. (Пробел между кавычками нужен для того чтобы данные указывались с отступом)
# Вписываем наши значения в файл
with open(«tasks.txt», «r») as f:
# Открываем файл уже для чтения
# Считываем наш файл, а считанное записываем в переменную tasks
# Ввыводим наш список
Источник: scholar.tips