Найти и исправить ошибки в программе печати привет вася
Обновлено: 21.11.2024
Я кодер. Добро пожаловать на мой блог. Вот некоторые записи о моей работе.
Категории
При работе с примером библиотеки Dart Route для кодирования на стороне клиента я наткнулся на этот фрагмент.
Мой вопрос: как работает (_) => null? Похоже, здесь указана функция, которая возвращает нулевое значение, но что означает (_)?
Попробую объяснить на примере.
Статьи по теме
Синтаксис карты Dart: putIfAbsent ('FirstKey', () => 1); Что такое & двоеточие; ()?
В подсказке редактора вы получите: scores.putIfAbsent(key, () => numValue); Я добавляю отдельные «строки» на свои карты с помощью команд: myMap.putIfAbsent(9, () => «Запланировано»); yourMap.putIfAbsent('foo', () => true); Итак: что означает это () ?PutIfAbs
Какой непонятный синтаксис испортил вам день?
Когда вы сталкивались с синтаксисом, который может быть устаревшим, никогда не используемым или просто запутанным, который вы не сможете понять на всю жизнь. Например, я никогда не знал, что запятая — это реальный оператор в C. Поэтому, когда я увидел код if(Foo(), Bar()), я просто
Perl Win32 :: Синтаксис OLE ExportAsFixedFormat для Powerpoint
У меня возникли проблемы с использованием perl (strawberry) и win32::ole с использованием powerpoint (из office2010) для преобразования ppt(x) в pdf. Я могу экспортировать в jpg с помощью функции экспорта, но функция ExportAsFixedFormat имеет довольно неясный синтаксис и всегда дает мне Win
Почему бы не предоставить оператора? &двоеточие; В скале
Есть оператор? : в Java, который можно использовать для выбора значения в соответствии с логическим выражением. Например, выражение 3 > 2 ? "true" : false вернет строку "true". Я знаю, что для этого можно использовать выражение if, но
Импорт в __init__.py и `import as in statement
У меня возникла проблема с импортом в __init__.py и использованием импорта как с абсолютным импортом в модулях пакета. В моем проекте есть подпакет, и в его __init__.py я "поднимаю" один из классов из модуля на уровень подпакета
В этом разделе мы планируем познакомить вас с миром программирования на Java, проведя вас через три основных шага, необходимых для запуска простой программы. Как и в случае с любым другим приложением, вы должны быть уверены, что Java правильно установлена на вашем компьютере. Вам также понадобится редактор и терминальное приложение. Вот системные инструкции для трех популярных домашних операционных систем. [ Mac OS X · Windows · Linux ]
Программирование на Java.
- Создайте программу, введя ее в текстовый редактор и сохранив в файл с именем, например, MyProgram.java.
- Скомпилируйте его, введя "javac MyProgram.java" в окне терминала.
- Выполните (или запустите) его, введя "java MyProgram" в окне терминала.
На первом этапе создается программа; второй переводит его на язык, более подходящий для машинного исполнения (и помещает результат в файл с именем MyProgram.class); третий фактически запускает программу.
-
Создание Java-программы. Программа — это не что иное, как последовательность символов, например предложение, абзац или стихотворение. Чтобы создать его, нам нужно только определить символы этой последовательности с помощью текстового редактора так же, как мы делаем это для электронной почты. HelloWorld.java — пример программы. Введите этот символ в текстовый редактор и сохраните его в файл с именем HelloWorld.java.
Если все пойдет хорошо, вы должны увидеть следующий ответ
- Скопируйте HelloWorld.java в новый файл, имя которого совпадает с именем программы, за которым следует .java.
- Замените HelloWorld на название программы везде.
- Замените оператор печати последовательностью операторов.
Ошибки.
- Ошибки времени компиляции. Эти ошибки обнаруживаются системой при компиляции программы, потому что они не позволяют компилятору выполнить перевод (поэтому он выдает сообщение об ошибке, в котором пытается объяснить, почему) .
- Ошибки выполнения. Эти ошибки обнаруживаются системой при выполнении программы, поскольку программа пытается выполнить недопустимую операцию (например, деление на ноль).
- Логические ошибки. Эти ошибки (надеюсь) обнаруживаются программистом, когда мы запускаем программу, и она дает неверный ответ. Ошибки — бич жизни программиста. Они могут быть незаметными, и их очень трудно найти.
Ввод и вывод.
Обычно мы хотим предоставить нашим программам ввод: данные, которые они могут обработать для получения результата. Самый простой способ предоставления входных данных показан в UseArgument.java.Всякий раз, когда эта программа выполняется, она считывает аргумент командной строки, который вы вводите после имени программы, и выводит его на терминал как часть сообщения.
А. Эти ключевые слова определяют определенные свойства main(), о которых вы узнаете позже в этой книге. На данный момент мы просто включаем эти ключевые слова в код (поскольку они необходимы), но не ссылаемся на них в тексте.
В. Что произойдет, если вы пропустите фигурную скобку или сделаете одно из слов с ошибкой, например public или static или main? А. Это зависит от того, что именно вы делаете. Такие ошибки называются синтаксическими ошибками. Попробуйте и убедитесь.
В. Может ли программа использовать более одного аргумента командной строки?
А. Да, вы можете поставить несколько, хотя мы обычно используем только несколько. Вы ссылаетесь на второй как args[1], на третий как args[2] и так далее. Обратите внимание, что в Java мы начинаем считать с 0.
В. Какие системные библиотеки и методы Java доступны для использования?
А. Их тысячи, но мы преднамеренно представляем их вам в этой книге, чтобы не перегружать вас выбором.
В. Как мне отформатировать мой код? Как мне прокомментировать свой код?
А. Программисты используют рекомендации по написанию кода, чтобы упростить чтение, понимание и обслуживание программ. По мере накопления опыта вы выработаете стиль программирования, точно так же, как вы вырабатываете стиль при написании прозы. Приложение B содержит некоторые рекомендации по форматированию и комментированию кода. Мы рекомендуем вернуться к этому приложению после того, как вы напишете несколько программ.
В. Что такое файл .class?
А. Это двоичный файл (последовательность 0 и 1). Если вы используете Unix или OS X, вы можете просмотреть его содержимое, введя od -x HelloWorld.class в командной строке. Это отображает результаты в шестнадцатеричном формате (с основанием 16). Из уважения к названию Java первое слово каждого файла .class — cafe. -->
- Напишите программу TenHelloWorlds.java, которая печатает "Hello, World" десять раз.
- Измените UseArgument.java, чтобы создать программу UseThree.java, которая принимает три имени и выводит правильное предложение с именами в обратном порядке, например, "java UseThree Alice Bob Carol< /tt>» дает «Привет, Кэрол, Боб и Алиса.».
Веб-упражнения
- Напишите программу Initials.java, которая печатает ваши инициалы, используя девять рядов звездочек, как показано ниже.
- основной
- Строка
- Привет, мир
- System.out
- печать ол>
- ;
- первый "
- второй "
- первый
- второй
- первый >
- второй > ол>
- основной
- Строка
- Привет, мир
- System.out
- печать
- Однострочные комментарии помечаются двумя косыми чертами // . Все, что следует за ними в той же строке, интерпретируется как комментарий.
- Многострочные комментарии помечаются косой чертой и звездочкой /* и закрываются звездочкой, за которой следует косая черта */. Все, что между ними, интерпретируется как комментарий.
Последнее изменение: 02 августа 2016 г.
Авторское право © 2000–2019 Роберт Седжвик и Кевин Уэйн. Все права защищены.
Команда печати System.out.println("Hello world"); печатает текст "Hello world".
В этом материале текстовые поля, подобные приведенному выше, демонстрируют результат, полученный с помощью примера кода. Соответственно, вышеприведенная программа будет выводить на печать «Hello World!». Вы можете попробовать любой из этих примеров в шаблоне упражнения "Песочница", который вы найдете в среде программирования.
Вы можете напечатать любой текст с помощью команды, если команда System.out.println("произвольный текст"); — т. е. System dot out dot println открывающая скобка («текст» закрывающая скобка) и точка с запятой; остается неизменной. Приведенная ниже команда напечатает текст «Привет!».
Шаблон программы
В Java наши программы должны включать некоторый шаблонный код, чтобы функционировать. Этот шаблон, пример которого показан ниже, например, сообщает компьютеру, как называется ваша программа. Ниже название программы — Example. Это имя должно соответствовать имени файла, содержащего исходный код (например, Example.java ).
Выполнение программы начинается со строки, следующей за public static void main(string[] args) < , и заканчивается закрывающей фигурной скобкой >. Команды выполняются построчно. Позже мы узнаем, что означают термины public class и public static void. В приведенном выше примере System.out.println("Текст для печати") является единственной выполняемой командой. Его вывод:
Текст для печати
Примеры в материалах и шаблонах кода
Примеры в материале не всегда будут показывать шаблон, но вы можете предположить, что он всегда нужен вашему программному файлу. Таким образом, примеры могут состоять из одной строки, например, приведенный ниже пример, иллюстрирующий команду печати.
На самом деле приведенный выше пример, написанный как полноценная программа на Java, выглядит так:
Вот второе упражнение по программированию в этом курсе. Если хотите, вы можете сначала посмотреть это видео о том, как решить это упражнение:
Запуск программы
Вы можете запустить программу в TMC, нажав зеленую кнопку воспроизведения или выбрав "Запустить проект" в меню TMC.
Несмотря на то, что запустить программу несложно, многое происходит за кулисами. При запуске программы исходный код сначала компилируется в байт-код Java. Этот процесс компиляции выполняется компилятором Java, который сам является программой. После этого программа запускается, то есть команды выполняются одна за другой интерпретатором Java, способным читать байт-код Java.
Этот процесс компиляции влияет на то, как и когда возникают ошибки. Когда программа компилируется перед выполнением, компилятор может искать в ней ошибки. Это также влияет на подсказки, предоставляемые IDE, и таким образом программист может получать немедленную обратную связь о любых ошибках.
В среде IDE программа компилируется и выполняется одним нажатием кнопки. Однако среда программирования постоянно компилирует программу, поэтому может сообщать об ошибках. Вы можете, например, попробовать изменить приведенную выше команду печати упражнения Ады Лавлейс на Systemoutprintln("hi!") — вы заметите, что строка будет подчеркнута, и вы будете уведомлены об ошибке слева сторона.
Печать нескольких строк
Программы строятся по командам, где каждая команда размещается на новой строке. В приведенном ниже примере команда System.out.println встречается дважды, что означает, что в программе выполняются две команды печати.
Приведенная выше программа напечатает:
Привет, мир! . и вселенная!
Упражнения по программированию будут проверены дотошным TMC Хенриком. Рекомендации в заданиях относительно формата печати очень точны. Если задание предполагает, что вы напечатаете круглую скобку, вы должны напечатать круглую скобку.
Эта точность в отношении вывода актуальна для программирования в более общем смысле. Отсутствие одного символа может привести к ошибке. Начинающие программисты часто вводят запятую вместо точки и пишут, например, printin вместо println, пропускают апострофы или забывают точку с запятой после команды. Любой из них вызовет ошибку и приведет к сбою выполнения программы.
На самом деле обучение программированию — это путь, полный ошибок, и каждое сообщение об ошибке — это возможность научиться. Следите за любыми красными знаками в среде IDE и пытайтесь прочитать ошибки теста!
Написание команды `System.out.println(". ") может быть утомительным. В NetBeans попробуйте написать sout в пустой строке (внутри main) и нажмите вкладку (клавиша слева от q). Что просходит? Этот ярлык может сэкономить вам много времени в будущем.
Анимация ниже иллюстрирует использование команды sout. Пользователь сначала пишет sout, а затем нажимает tab. Магия!
Терминология и комментарии к коду
Параметры команды
Информация, которая должна быть напечатана командой печати, т. е. ее параметры, передаются ей, помещая их в круглые скобки (), которые следуют за командой. Например, передача Hi в качестве параметра команде System.out.println выполняется следующим образом: System.out.println("Hi") .
Команды разделяются точкой с запятой
Команды разделяются точкой с запятой; . Мы могли бы, если бы захотели, написать почти все в одну строку. Однако это было бы трудно понять.
Хотя предыдущий пример работает, важно учитывать других программистов (и себя в будущем!) и использовать разрывы строк. Таким образом, любой, кто читает программу, знает, что каждая строка выполняет только одну конкретную операцию.
Комментарии
Исходный код можно прокомментировать, чтобы уточнить его или добавить примечания. Есть два способа сделать это.
Ниже приведен пример программы, в которой используются оба варианта.
В последней строке примера показан особенно удобный вариант использования комментариев. Написанный код не нужно удалять, чтобы попробовать что-то еще.
Не забудьте проверить свои баллы по шарику в правом нижнем углу материала!
Я прохожу курс по науке о данных, и они используют библиотеку sklearn, где есть метод GridSearchCV, проблема заключается в том. ain_fin, y_train_fin) sorted(gridsearch.cv_results_,key = lambda x: -x.mean_validation_score) В чем может быть проблема?
Как я могу кодировать категориальные объекты, содержащие Nan, без добавления новой категории?
Например, функция, которая принимает значения <'Мужской', 'Женский', NaN> при использовании OneHotEncoder (или каким-либо другим способом), перевод . такой набор данных должен быть получен независимо от того, имел ли набор, на котором обучался кодировщик, Нэн в некоторых категориях.'Мужской',>
Как добавить среднее микро в отчет о классификации из sklearn.metrics?
Я вывожу рассчитанные показатели для тестовых данных: print(classification_report(y_true, y_pred_classes, target_names = CLAS . 0,92 0,92 0,92 10000 В этом отчете отсутствует микросреднее значение. Как исправить вывод, чтобы добавить эту строку?
Функции (метрики) для оценки качества классификации
Как я могу использовать sklearn или numpy, чтобы найти долю ошибочно предсказанных значений? Есть два массива чисел одного и того же . d, чтобы сравнить их, и разделить количество неправильных ответов на длину. Можно ли это как-то сделать в 1 функции?
Разные выходные значения с одинаковыми параметрами при классификации данных
Я подбираю параметры для наилучшего обучения модели классификации. Я делаю так: print('Исходная обученность: . ий: ', precision_score(res3, y_test3)) В итоге результаты разные. Где я ошибся? Что я делаю не так?
Методы классификации в машинном обучении
Есть некая задача классификации: для обучения классификатор получает массив строк как класс и некоторые числа. проблема, потому что я еще не знаю о методах с несколькими классами для объекта. Буду благодарен за совет!
Выборка и перекрестная проверка
Подскажите, у меня есть df. Если я собираюсь использовать перекрестную проверку, мне достаточно разбить мою df на обучающую и тестовую выборки, и мне не нужно дополнительно извлекать набор проверки. Верно? Или я что-то не правильно понимаю?
Почему существует такая большая разница в точности при применении теста Джини и энтропии?
Всем привет. Продолжаю потихоньку изучать ML и добрался до всем известного набора данных Wine. И я попал в следующий момент: если я использую e . ронг (например, я посчитал точность)? Прочитал теорию и не нашел предпосылок для таких больших отличий.
Логистическая регрессия в Python
Вот код из курса y_pred_train=logreg.predict(x_train) y_predict_train=logreg.predict_proba(x_train)[:,1] lo . то есть, сколько раз не вызывайте прогнозировать(), коэффициенты или веса будут одинаковыми. Но я в этом не уверен)
импортировать pandas как pd импортировать numpy как np из sklearn.tree импортировать DecisionTreeClassifier из sklearn.model_selection импортировать tr . ошибка. ValueError: истинное значение DataFrame неоднозначно. Используйте a.empty, a.bool(), a.item(), a.any() или a.all().
Средняя относительная ошибка аппроксимации регрессии в Python
Я новичок в Python и не совсем понимаю, как вычислить среднюю относительную ошибку приближения по формуле . готовая функция для получения этой ошибки или это просто цикл? Если это цикл, нужно ли нормализовать значения Y_test-real?
Алгоритм ML k-ближайших соседей (kNN))
Подскажите, возможно ли и как можно добавить условие, чтобы предсказание метки knn.predict(x_test) происходило только . _score(knn, X, Y, cv=LeaveOneOut()) print(scores.mean()) Или есть другой метод, более подходящий для этой цели? Спасибо!
Нелинейная регрессия по методу Гаусса-Ньютона
Необходимо реализовать нелинейную регрессию кругового облака точек. В трехмерном круговом кресте есть облако точек. уд. Подскажите, в каком направлении искать решение и есть ли примеры реализаций нелинейной регрессии?
Выберите параметр, максимизирующий F-меру
Я выбираю параметр k (целое число), чтобы умножить порог классификации T. То есть T = 0,1k. Есть три алгоритма. 6023125, 0,7659328, 0,70362246, 0,70127618, 0,8578749, 0,83641841, 0,62959491, 0,90445368])
Python: ValueError слишком много значений для распаковки (ожидается 2)
Я пытаюсь найти наилучшие параметры для модели с помощью GridSearchCV и хочу использовать данные за апрель для перекрестной проверки. s_ model.best_params_ Когда я запускаю код, возникает эта ошибка: Не могли бы вы сказать мне, в чем может быть проблема?Спасибо
как обучить модель, если я использовал перекрестную проверку KFold
После разделения набора с помощью "sklearn.cross_validation.KFold" у меня есть 6 кусков (3 обучения, 3 теста, + ответы для них). Является . все чанки или нужно постоянно писать : Vasya=model.fit(chank1,answer1) a1=model.predict(Vasya,answer_t_1) ?
Python Anaconda: 1) установка; 2) потребность в машинном обучении
Два вопроса о Python Anaconda OS Ubuntu 16.04. Нужно ли сносить существующий Python и библиотеки (pandas, numpy . ПА действует сильно ли упростит жизнь в этом смысле? Вопросы простые, поэтому приму ответы типа да\нет.
Кажется, lxml недоступен для меня в dev_appserver. У меня есть тестовый проект, это строка импорта lxml, созданная с помощью Windows python sdk 1.6.6. «Нет модуля с именем lxml». Я предполагаю что-то с установленной версией Python, но у меня Python 2.7.
Все ответы на этот вопрос с идентификатором 10744123
lxml не входит в стандартную комплектацию Google App Engine, его необходимо установить.
Я продолжал получать сообщение об ошибке "Нет модуля с именем lxml", но не смог установить модуль отдельно, и я решил эту проблему, указав pip установить с определенным номером версии, например так;
Как установить lxml в Ubuntu
У меня возникли трудности с установкой lxml с помощью easy_install в Ubuntu 11.
Когда я набираю $ easy_install lxml, я получаю:
Если я сначала попробую другой, я доберусь до ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2, и в конечном итоге это завершится ошибкой:< /p>
Я пробовал обе версии 2.6.27 и 2.6.29 libxml2 без каких-либо различий.
Не оставляя камня на камне, я успешно выполнил sudo apt-get install libxml2-dev , но это ничего не меняет.
HTML-сайт на Google App Engine
У меня есть статический веб-сайт в формате html на Google App Engine. Единственный трафик — это личное посещение веб-сайта для тестирования. Я заметил, что он очень быстро потребляет часы экземпляра внешнего интерфейса. Можно ли сделать так, чтобы он не создавал никаких экземпляров, чтобы не расходовались часы экземпляра внешнего интерфейса? Спасибо!
Структура моего файла выглядит следующим образом: у меня есть файл index.html, несколько других файлов html и документ в формате pdf в моей корневой папке. Файлы изображений находятся в папке IMAGE внутри корневого каталога. CSS находится внутри папки FILES внутри корневого каталога. В папке FILES также есть папка THEME с изображениями и файлом css.
Мой полный файл app.yaml выглядит так:
приложение: myappname
версия: 1
среда выполнения: python
api_version: 1
обработчики:
-url: /(.*.(gif|png|jpg|ico|js|css|pdf))
static_files: \1
upload: (.* .(gif|png|jpg|ico|js|css|pdf))
-url: .*
скрипт: main.py
Файл main.py выглядит так:
импорт ОС
из google.appengine.ext импортировать веб-приложение
из google.appengine.ext.webapp import util
из шаблона импорта google.appengine.ext.webapp
< /p>
class MainHandler(webapp.RequestHandler):
def get (self, q):
если q равно None:
q = 'index.html'
if __ name __ == '__ main __':
main()
Файл App.yaml без файла main.py, который работал. (между - и url есть пробел)
приложение: myappname
версия: 1
среда выполнения: python
api_version: 1
обработчики:
-url: /(.*.(gif|png|jpg|ico|js|css|pdf|html))
static_files: \1
upload: ( .*.(gif|png|jpg|ico|js|css|pdf|html))
-url: /
статические_файлы: index.html
загрузка: index.html
Ошибка импорта Google App Engine NLTK
Я пытаюсь импортировать библиотеку NLTK в Google App Engine, выдает ошибку, я создал другой модуль "testx.py", и этот модуль работает без ошибок, но я не знаю, почему NLTK не работает.
Мой код nltk_test.py
Этот код работает нормально. Когда я комментирую импорт nltk и код, связанный с nltk, я думаю, что NLTK не импортируется, пожалуйста, помогите мне разобраться с этой проблемой, спасибо
Читайте также: