Запрашивает два целых числа с клавиатуры и отображает сумму этих чисел на экране

Обновлено: 03.07.2024

До сих пор наши сценарии не были интерактивными. То есть они не принимали никаких входных данных от пользователя. В этом уроке мы увидим, как наши скрипты могут задавать вопросы, а также получать и использовать ответы.

Чтобы получить ввод с клавиатуры, мы используем команду чтения. Команда чтения принимает ввод с клавиатуры и присваивает его переменной. Вот пример:

Как мы видим, мы отобразили подсказку в строке 3. Обратите внимание, что "-n", указанный в команде echo, заставляет ее удерживать курсор на той же строке; то есть он не выводит перевод строки в конце подсказки.

Затем мы вызываем команду чтения с текстом в качестве аргумента. Это означает, что пользователь ждет, пока пользователь введет что-то, а затем нажмет клавишу Enter, а затем присвоит то, что было введено, переменной text .

Вот скрипт в действии:

Если мы не дадим команде чтения имя переменной для назначения ее ввода, она будет использовать переменную среды REPLY .

У команды чтения есть несколько параметров командной строки. Три самых интересных — это -p , -t и -s .

Опция -p позволяет указать подсказку, которая будет предшествовать вводу данных пользователем. Это избавляет от дополнительного шага использования эха для подсказки пользователю. Вот более ранний пример, переписанный с использованием параметра -p:

Опция -t, за которой следует количество секунд, обеспечивает автоматический тайм-аут для команды чтения. Это означает, что команда чтения будет прекращена через указанное количество секунд, если от пользователя не будет получено никакого ответа. Эту опцию можно использовать в случае, если сценарий должен продолжаться (возможно, прибегая к ответу по умолчанию), даже если пользователь не отвечает на подсказки. Вот опция -t в действии:

Опция -s приводит к тому, что введенный пользователем текст не отображается. Это полезно, когда мы просим пользователя ввести пароль или другую конфиденциальную информацию.

Арифметика

Поскольку мы работаем на компьютере, естественно ожидать, что он может выполнять некоторые простые арифметические действия. Оболочка предоставляет функции для целочисленных арифметических операций.

Что такое целое число? Это означает целые числа, такие как 1, 2, 458, -2859. Это не означает дробные числа, такие как 0,5, 0,333 или 3,1415. Для работы с дробными числами существует отдельная программа под названием bc, которая предоставляет язык вычислений произвольной точности. Его можно использовать в сценариях оболочки, но это выходит за рамки данного руководства.

Допустим, мы хотим использовать командную строку в качестве примитивного калькулятора. Мы можем сделать это следующим образом:

Когда мы заключаем арифметическое выражение в двойные круглые скобки, оболочка выполнит арифметическое расширение.

Обратите внимание, что пробелы игнорируются:

[me@linuxbox me]$ echo $((2+2)) 4 [me@linuxbox me]$ echo $(( 2+2 )) 4 [me@linuxbox me]$ echo $(( 2 + 2 )) 4

Оболочка может выполнять множество обычных (и не очень) арифметических операций. Вот пример:

Обратите внимание, что начальный символ "$" не требуется для ссылки на переменные внутри арифметического выражения, такого как "first_num + second_num".

Попробуйте эту программу и посмотрите, как она выполняет деление (помните, что это целочисленное деление) и как она обрабатывает большие числа. Цифры, которые становятся слишком большими, переполняются, как одометр в автомобиле, когда он превышает количество миль, для подсчета которых он был разработан. Он начинается сначала, но сначала он проходит через все отрицательные числа из-за того, как целые числа представлены в памяти. Деление на ноль (что математически неверно) вызывает ошибку.

Первые четыре операции — сложение, вычитание, умножение и деление — легко распознаются, но пятая может быть незнакомой. Символ "%" представляет остаток (также известный как по модулю). Эта операция выполняет деление, но вместо того, чтобы возвращать частное, как при делении, она возвращает остаток. Хотя это может показаться не очень полезным, на самом деле это очень удобно при написании программ. Например, когда операция остатка возвращает ноль, это означает, что первое число точно кратно второму. Это может быть очень удобно:

Или в этой программе, которая форматирует произвольное количество секунд в часы и минуты:

© 2000-2022, William E. Shotts, Jr. Дословное копирование и распространение всей этой статьи разрешено на любом носителе при условии сохранения этого уведомления об авторских правах.

Программа сначала попросит пользователя ввести два числа, подсчитать их сумму и, наконец, распечатать ее.

input() — это встроенная функция, которая используется для ввода данных от пользователя.

Программа Python для сложения двух чисел

Вывод

введите первое число:5
введите второе число:7
сумма: 12

Видеоруководство

Вам также может понравиться:

15 мыслей о «Программе Python для сложения двух чисел»

Здравствуйте, пожалуйста, дайте подробное объяснение

ДА, ПОЖАЛУЙСТА, ПОДРОБНЕЕ

Привет, я Арун, студент факультета информатики, значит, программист, пожалуйста, помогите мне, теперь я начинающий программист, но меня интересует мир программирования. Но у меня нет старшего и тренера.
Можете ли вы мне помочь

Конечно, если вы собираетесь заниматься программированием, вам нужно с чего-то начинать, и я считаю, что, поскольку вы изучаете CSE, вы должны знать oop, поэтому лучше начать с ядра java, и после этого вы получите представление о том, как и где идти. Возможно, с помощью java-скрипта python ruby ​​big data или чего угодно

Здравствуйте
Я также изучаю информатику.
Помогите мне выучить Python?
Спасибо

Сначала вы должны изучить Python, его очень легко выучить. Вы можете узнать об этом на YouTube

использовать приложение для индивидуального обучения

Если вы хотите стать программистом, не полагайтесь ни на кого. Практика собственного обучения - главное для программиста

ваш код выдает ошибку времени выполнения

Большое спасибо, Нирадж! Я очень ценю, что вы помогаете нам, коллегам-программистам, с нашим программированием, даже если вам это не нужно! 🙂

Нам нужны
вложенные циклы For
вложенные циклы While
функция (1)
вложенные if
If else if
класс

Только примеры с минимум 15 строками кода

Спасибо за помощь. Это помогло мне в моих уроках Codecademy

Спасибо разработчику этого сайта. Это мне очень помогло. Теперь у меня больше нет проблем с программированием. 👍🏻👍🏻👍🏻

Добрый день, я изучаю программирование на Python, меня попросили ”
Написать функцию Python Sum() для сложения двух чисел
Например:
Результат теста
print(Sum(1,1)) 2
print(Sum(1,2)) 3
print(Sum(1,3)) 4

Это код, который я написал:
num1=1
num2=1
result=num1+num2
print(result)

Однако, когда я пытаюсь отправить свои результаты, я получаю следующий ответ:
***Ошибка выполнения***
Отслеживание (последний последний вызов):
Файл «__tester__ .python3», строка 13, in
print(Sum(1,1))
NameError: имя «Сумма» не определено

Пожалуйста, помогите, как мне исправить эту ошибку.

@Hilda coombe
Вы нигде не определили Sum. для вашего заданного вопроса вы можете попробовать следующие способы. (я тоже новичок)

a=int(input("пожалуйста, введите 1-е значение:"))
b=int(input("пожалуйста, введите 12-е значение:"))
def Sum(a,b):< br />print(a+b)
Сумма(a,b)


сообщить об этом объявлении

Подпишитесь на последние обновления

Подпишитесь на нашу рассылку и получайте интересные материалы и обновления на свой почтовый ящик.

Спасибо за подписку.

Что-то пошло не так.

мы уважаем вашу конфиденциальность и серьезно относимся к ее защите

Важные страницы

Категории

Последние вакансии в сфере ИТ


сообщить об этом объявлении

Пользовательские функции

Как следует из названия, эти функции определяются и создаются пользователями. Функции в C++ согласуются с понятием функций в математике. Например, они допускают функциональную композицию, такую ​​как f(f(p),q,f(f)). Однако функции C++ либо возвращают одно значение, либо не возвращают никакого значения. Рассмотрим следующий пример. Это определяемая пользователем функция, которая вычисляет значение факториала небольшого целого числа.

Целочисленная переменная n является входом функции и также называется параметром функции.

Если функция определена после функции main(), то ее прототип должен быть указан int fact (int);

вверху, чтобы компилятор не помечал ошибку прямой ссылки. В определении прототипа указывается имя функции, количество и тип каждого параметра, а также тип выходных данных.

Все фрагменты кода, такие как прототип функции, вызывающая основная программа и полное определение функции, показаны ниже

Обычные результаты выполнения этого кода показаны ниже:

Примеры функций
Пример 1

Напишите функцию для определения максимума двух целых чисел x и y. Ответ:

Эта функция принимает на вход два целых числа x и y. Он выбирает x как результат, если x больше, чем y; в противном случае для результата выбирается y.

Пример 2:

Напишите функцию, которая находит максимальное из трех целых чисел x, y и z. Ответ:

Чтобы начать с x, предполагается, что это результат. Затем результат сравнивается с y и z. если y или z больше, чем результат, y или z выбирается для результата соответственно.

Одна и та же функция может состоять из функции max2, как показано ниже:

Этот расчет показывает использование функциональной композиции max(x, y, z) = max(x, max(y,z))

Пример 3

Напишите функцию, которая возвращает количество трехзначных натуральных чисел, которые делятся либо на 4, либо на 5, но не на оба числа.

Ответ: эта функция сначала просматривает все возможности для трехзначных чисел, затем проверяет, делится ли это текущее значение «i» на 4 ИЛИ 5, и в то же время проверяет, не является ли оно двойным подсчетом другого числа. .

Пример 4

Напишите функцию, которая будет возвращать истину, если заданное число n является простым, иначе она должна возвращать ложь.

Ответ: Эта функция проверяет все делители от 2 до n/2 -1 включительно. Он выйдет заранее, если найдет делитель до завершения цикла. Если код завершает цикл, это означает, что число не имеет делителя и, следовательно, является простым числом.

Пример 5

Напишите функцию, которая будет возвращать true, если заданное число является палиндромом, в противном случае она должна возвращать false. Число называется палиндромом, если оно читается одинаково независимо от того, просматривается ли оно слева направо или наоборот. Например, 506605 — это палиндром, а 5123 — нет.

Ответ: Логика палиндрома состоит в том, чтобы перевернуть заданное число n. Это делается циклом while. Заданное число n является палиндромом тогда и только тогда, когда исходное n и его обращение идентичны.

 Елена97

Если значение n больше 1, заменить целое число половиной его значения (n/2), если целое число четное. В противном случае замените целое число числом, умноженным на три, плюс 1 (3*n + 1).

2 комментария

 Ингрид

Прямая ссылка на этот комментарий

Прямая ссылка на этот комментарий

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

 Пурушоттама Рао

Прямая ссылка на этот комментарий

Прямая ссылка на этот комментарий

Как я понял из вопроса, вы хотите ввести целое число, скажем, 10, и хотите создать последовательность. Последовательность должна учитывать от 1 до 10 чисел для указанной выше арифметики. Тогда в этом случае для данного целого числа, скажем, 10, последовательность содержит 10 элементов? это то, что вы хотите сделать?

Ответы (4)

 Ингрид

Прямая ссылка на этот ответ

Прямая ссылка на этот ответ

1 комментарий

 Гийом

Прямая ссылка на этот комментарий

Прямая ссылка на этот комментарий

"это заняло около 1 минуты, так что не должно быть слишком сложно решить самостоятельно" , поэтому было бы лучше не выдавать все решение, не увидев хотя бы какую-то попытку со стороны OP.

 Пурушоттама Рао

Прямая ссылка на этот ответ

Прямая ссылка на этот ответ

5 комментариев

 Пурушоттама Рао

Прямая ссылка на этот комментарий

Прямая ссылка на этот комментарий

Я все еще сомневаюсь, что вы ищете что-то подобное. Если не указать, какой у вас ввод и ожидаемый результат, четко

 Гийом

Прямая ссылка на этот комментарий

Прямая ссылка на этот комментарий

Я не думаю, что вы правильно ответили на задачу (мне кажется, что это нужно для проверки понимания учащимся циклов while), но если бы вы делали это так, лучше использовать векторизованные операции:

В любом случае не давайте полное решение очевидной домашней задачи. Учащийся просто отправит ваше решение, даже не удосужившись его понять, поэтому ничего не узнает.

 Ингрид

Прямая ссылка на этот комментарий

Прямая ссылка на этот комментарий

Я не думаю, что это то, что требуется, поскольку вы заранее не знаете, сколько элементов будет включать решение

итак, семнадцать элементов, следовательно, требуется цикл while, чтобы проверить, больше ли результирующее целое число, чем единица

 Пурушоттама Рао

Прямая ссылка на этот комментарий

Прямая ссылка на этот комментарий

Я думаю, что то, как задан вопрос, несколько сбивает меня с толку. Глядя на пример, если ввод равен 10, то как он может иметь последовательность no.. Согласно вашему коду, это должно быть одно значение 5. Но было указано, что последовательность ожидается.

 Гийом

Прямая ссылка на этот комментарий

Прямая ссылка на этот комментарий

Я думал, что это было довольно ясно. Первый элемент последовательности — это введенное число, следующий элемент — либо:

  • половина предыдущего элемента, если он четный
  • 1 плюс 3-кратный предыдущий элемент, если он нечетный и больше единицы
  • конец последовательности, если он равен 1.

 Сахер Акрам

Прямая ссылка на этот ответ

Прямая ссылка на этот ответ

Основная задача этого вопроса — создать специальную квадратную матрицу. Размер этой матрицы задается пользователем.

  • Просит пользователя ввести размер (n) специальной квадратной матрицы.
  • Создает специальную матрицу размера (n), аналогичную следующей, используя цикл for.
1 комментарий

 Афкар Хамза

Прямая ссылка на этот комментарий

Прямая ссылка на этот комментарий

Для квадратной матрицы букв M введите текст, предлагающий пользователю ввести букву с клавиатуры, затем найдите его в матрице M и отобразите число на экране. Сколько раз вы нашли символ в матрице.

 Раван Гейис

Прямая ссылка на этот ответ

Прямая ссылка на этот ответ

Игра плюс-минус (подготовка): Желательно написать игру плюс-минус. Пользователю предлагается ввести числа из 4 цифр. Каждый раз, когда вводится новый номер, также требуется информация о старых номерах. Запишите все числа в виде векторов и запишите код, указывающий, отличается ли новая оценка, которую нужно ввести, от предыдущей оценки, и если она совпадает со старой, то какое число вы ввели в оценку.

1 комментарий

 Раван Гейис

Прямая ссылка на этот комментарий

Прямая ссылка на этот комментарий

См. также

Категории

Охота за сокровищами сообщества

Найдите сокровища в MATLAB Central и узнайте, как сообщество может вам помочь!

Произошла ошибка

Не удалось выполнить действие из-за изменений, внесенных на страницу. Перезагрузите страницу, чтобы увидеть ее обновленное состояние.

Выберите веб-сайт

Выберите веб-сайт, чтобы получить переведенный контент, где он доступен, и ознакомиться с местными событиями и предложениями. В зависимости от вашего местоположения мы рекомендуем вам выбрать: .

Вы также можете выбрать веб-сайт из следующего списка:

Как добиться максимальной производительности сайта

Выберите китайский сайт (на китайском или английском языке) для лучшей производительности сайта. Сайты других стран MathWorks не оптимизированы для посещений из вашего местоположения.

Читайте также: