Python56 0 / 0 / 0 Регистрация: 03.01.2017 Сообщений: 5 |
||||
1 |
||||
Вывести вначале последнюю цифру числа, потом среднюю03.01.2017, 18:36. Показов 36608. Ответов 3 Метки нет (Все метки)
Дано трехзначное целое число. Вывести вначале его последнюю цифру (единицы), а затем – его среднюю цифру (десятки). Пример проблема ответ дается через пробел : 307 – 7 0 но долно быть 70
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
03.01.2017, 18:36 |
3 |
Semen-Semenich 4466 / 3146 / 1112 Регистрация: 21.03.2016 Сообщений: 7,832 |
||||
03.01.2017, 19:34 |
2 |
|||
Сообщение было отмечено Python56 как решение Решение
1 |
Jabbson 5887 / 3345 / 1033 Регистрация: 03.11.2009 Сообщений: 9,973 |
||||
03.01.2017, 20:46 |
3 |
|||
или
1 |
0 / 0 / 0 Регистрация: 03.01.2017 Сообщений: 5 |
|
04.01.2017, 17:46 [ТС] |
4 |
спасибо
0 |
Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article
AIn this article, we will see how to find the average of the digits of a number in Python.
Examples:
Input: N = 642 Output: 4.0 Explanation: (6+4+2)/3 = 12/3 = 4.0 Input: N = 3504 Output: 3.0 Explanation: (3+5+0+4)/4 = 12/4 = 3.0
Calculate the average of a number of digits in python if the number is an integer:
Follow the below steps to solve the problem:
- Loop over the digits of the number.
- Count the total number of digits of the number
- Calculate the sum of all the digits of the number
- Calculate and return the number digit average
Following is an implementation of the above approach:
Python3
def
digitAverage(n):
digiSum, digiLen
=
0
,
0
while
n:
digiLen
+
=
1
digiSum
+
=
n
%
10
n
=
n
/
/
10
return
(digiSum
/
digiLen)
print
(digitAverage(
642
))
print
(digitAverage(
3504
))
Time complexity: O(n)
Auxiliary Space: O(1)
Calculate the average of a number of digits in python if the number is a floating-point number:
In case the input number is a floating point number, we will first convert it into an integer by shifting all the decimal digits by repeatedly multiplying it by 10.
To check if a float is equivalent to an integer we can use the is_integer() method of the float class.
Follow the below steps to solve the problem:
- First, we will repeatedly multiply the decimal number by 10 until it becomes an integer
- Then we can simply follow our previous approach
- Loop over the digits of the number.
- Count the total number of digits of the number
- Calculate the sum of all the digits of the number
- Calculate and return the number digit average
Following is an implementation of the above approach:
Python3
def
digitAverage(n):
n
=
float
(n)
while
not
n.is_integer():
n
*
=
10
digiSum, digiLen
=
0
,
0
while
n:
digiLen
+
=
1
digiSum
+
=
n
%
10
n
=
n
/
/
10
return
(digiSum
/
digiLen)
print
(digitAverage(
642.0
))
print
(digitAverage(
350.4
))
Time complexity: O(d), d is the number of digits in the given number n.
Auxiliary space: O(1).
Last Updated :
07 Feb, 2023
Like Article
Save Article
На чтение 3 мин Просмотров 1.8к. Опубликовано
Данная статья посвящена решению задачи на Python, которая заключается в нахождении суммы, произведения и среднего арифметического трёх целых чисел, введенных пользователем с клавиатуры. Решение этой задачи может быть полезным в различных сферах программирования, где требуется обработка числовых данных. В этой статье мы рассмотри два варианта задачи, в первом варианте пользователь вводит три числа по очереди, а во втором вводит сразу три числа через пробел.
Как найти сумму, произведение и среднее арифметическое трёх целых чисел, введённых по очереди
Сначала рассмотрим вариант, в котором пользователь вводит числа по очереди. Для решения задачи в данном случае мы можем написать следующий код:
# получаем три целых числа от пользователя
num1 = int(input("Введите первое число: "))
num2 = int(input("Введите второе число: "))
num3 = int(input("Введите третье число: "))
# вычисляем сумму, произведение и среднее арифметическое
summ = num1 + num2 + num3
prod = num1 * num2 * num3
avg = summ / 3
# выводим результаты
print("Сумма чисел:", summ)
print("Произведение чисел:", prod)
print("Среднее арифметическое чисел:", avg)
Здесь мы сначала получаем три целых числа от пользователя, используя функцию input()
, и затем преобразуем их в целые числа, используя функцию int()
. Затем мы вычисляем сумму, произведение и среднее арифметическое, используя соответствующие математические операции, и выводим результаты с помощью функции print()
.
Как найти сумму, произведение и среднее арифметическое трёх целых чисел, введённых через пробел
А теперь рассмотрим более сложный вариант, когда пользователь вводит сразу три числа через пробел. Для решения этой задачи, нам необходимо использовать метод split()
, который позволяет разделить строку на части по заданному разделителю и вернуть список этих частей. Так как разделителем в методе split()
по-умолчанию является пробел, то мы можем не указывать его явно.
Напишем код для решения задачи:
# Получаем ввод от пользователя и разбиваем на три части
input_str = input("Введите три целых числа, разделенных пробелами: ")
num1, num2, num3 = input_str.split()
# Преобразуем каждую часть в целое число
num1 = int(num1)
num2 = int(num2)
num3 = int(num3)
# Вычисляем сумму, произведение и среднее арифметическое трех чисел
sum_nums = num1 + num2 + num3
prod_nums = num1 * num2 * num3
avg_nums = sum_nums / 3
# Выводим результаты
print("Сумма трех чисел:", sum_nums)
print("Произведение трех чисел:", prod_nums)
print("Среднее арифметическое трех чисел:", avg_nums)
Этот код принимает три целых числа, разделенных пробелами, от пользователя и вычисляет сумму, произведение и среднее арифметическое этих чисел. Результаты выводятся на экран.
При помощи операции нахождения остатка и целочисленного деления можно достаточно несложно вычислить любую цифру числа.
Рассмотрим программу получения цифр двузначного числа:
num = 17
a = num % 10
b = num // 10
print(a)
print(b)
Результатом выполнения программы будут два числа:
7
1
То есть сначала мы вывели последнюю цифру числа, а затем первую цифру.
Запомни: последняя цифра числа определяется всегда как остаток от деления числа на 10 (% 10)
. Чтобы отщепить последнюю цифру от числа, необходимо разделить его нацело на 10 (// 10)
.
Рассмотрим программу получения цифр трёхзначного числа:
num = 754
a = num % 10
b = (num % 100) // 10
c = num // 100
print(a)
print(b)
print(c)
Результатом выполнения программы будут три числа:
4
5
7
То есть сначала мы вывели последнюю цифру числа, затем среднюю цифру, а затем первую цифру.
Алгоритм получения цифр n-значного числа
Несложно понять, по какому алгоритму можно найти каждую цифру n-значного числа num
:
- Последняя цифра:
(num % 101) // 100
; - Предпоследняя цифра:
(num % 102) // 101
; - Предпредпоследняя цифра:
(num % 103) // 102
; - …..
- Вторая цифра:
(num % 10n-1) // 10n-2
; - Первая цифра:
(num % 10n) // 10n-1
.
Решение задач
Задача 1. Напишите программу, определяющую число десятков и единиц в двузначном числе.
Решение. Число единиц – это последняя цифра числа, число десятков – первая цифра. Чтобы получить последнюю цифру любого числа, нужно найти остаток от деления числа на 10. Чтобы найти первую цифру двузначного числа, нужно поделить число нацело на 10. Программа, решающая поставленную задачу, может иметь следующий вид:
num = int(input())
last_digit = num % 10
first_digit = num // 10
print('Число десятков =', first_digit)
print('Число единиц =', last_digit)
Задача 2. Напишите программу, в которой рассчитывается сумма цифр двузначного числа.
Решение. Программа, решающая поставленную задачу, может иметь следующий вид:
num = int(input())
last_digit = num % 10
first_digit = num // 10
print('Сумма цифр =', last_digit + first_digit)
Задача 3. Напишите программу, которая печатает число, образованное при перестановке цифр двузначного числа.
Решение. Программа, решающая поставленную задачу, может иметь следующий вид:
num = int(input())
last_digit = num % 10
first_digit = num // 10
print('Искомое число =', last_digit * 10 + first_digit)
Задача 4. Напишите программу, в которую вводится трёхзначное число и которая выводит на экран его цифры (через запятую).
Решение. Программа, решающая поставленную задачу, может иметь следующий вид:
num = int(input())
digit3 = num % 10
digit2 = (num // 10) % 10
digit1 = num // 100
print(digit1, digit2, digit3, sep=',')
как найти среднее число в питоне
Учитывая 3 числа, мне нужно найти, какое число находится между двумя другими.
т.е., учитывая 3,5,2
Мне нужно 3, чтобы вернуться.
Я попытался реализовать это, перейдя через все три и используя условия if else, чтобы проверить, находится ли каждый из двух других. Но это кажется наивным способом сделать это. Есть ли лучший способ?
02 апр. 2012, в 18:07
Поделиться
Источник
Поместите их в список, отсортируйте их, выберите средний.
Sven Marnach
02 апр. 2012, в 17:20
Поделиться
>>> x = [1,3,2]
>>> sorted(x)[len(x) // 2]
2
jamylak
02 апр. 2012, в 16:50
Поделиться
Самый быстрый очевидный способ для трех чисел
def mean3(a, b, c):
if a <= b <= c or c <= b <= a:
return b
elif b <= a <= c or c <= a <= b:
return a
else:
return c
Zaur Nasibov
02 апр. 2012, в 18:04
Поделиться
Вы могли бы сделать
numbers = [3, 5, 2]
sorted(numbers)[1]
David Robinson
02 апр. 2012, в 17:16
Поделиться
Что вы хотите, это медиана. Вы можете использовать этот код ниже для любого количества номеров:
import numpy
numbers = [3,5,2]
median = numpy.median(numbers)
для пользовательского решения вы можете посетить эту страницу .
Thanasis Petsas
02 апр. 2012, в 18:01
Поделиться
Это реализация O (n) медианы с использованием кумулятивных распределений. Это быстрее, чем сортировка, потому что сортировка – это O (ln (n) * n).
def median(data):
frequency_distribution = {i:0 for i in data}
for x in data:
frequency_distribution[x] =+ 1
cumulative_sum = 0
for i in data:
cumulative_sum += frequency_distribution[i]
if (cumulative_sum > int(len(data)*0.5)):
return i
luke14free
02 апр. 2012, в 16:44
Поделиться
Проверьте это (предположим, что список уже отсортирован):
def median(list):
ceil_half_len = math.ceil((len(list)-1)/2) # get the ceil middle element index
floor_half_len = math.floor((len(list)-1)/2) # get the floor middle element index'
return (list[ceil_half_len] + list[floor_half_len]) / 2
Zhe
29 окт. 2013, в 04:13
Поделиться
Если вы хотите избежать сортировки, вы можете сделать:
def find_median(x):
return sum(x) - max(x) - min(x)
Cabbage soup
30 март 2017, в 19:32
Поделиться
Вот моя попытка использовать более питоническую версию
def median(a):
sorted_a = sorted(a)
if len(a) % 2 == 0:
median = sum(sorted_a[(len(a)//2)-1:(len(a)//2)+1])/2.
else:
median = sorted_a[(len(a)-1)//2]
>>> x = [64630, 11735, 14216, 99233, 14470, 4978, 73429, 38120, 51135, 67060]
>>> median(x)
>>> 44627.5
>>> y = [1, 2, 3]
>>> median(y)
>>> 2
Michael
12 янв. 2017, в 09:11
Поделиться
Ещё вопросы
- 0Скрыть элементы при щелчке вне запускающего элемента
- 0SVG фильтр <feOffset> – можно установить dx и dy в значении пикселя?
- 0Есть ли способ добавить атрибут только в 1 строку в SQL?
- 1Отладка mongoDB с помощью printjson в оболочке mongo
- 0Как написать обыкновенную функцию jquery для отображения всплывающей подсказки
- 1Как удалить вставленный комментарий OOXML, используя Word JS API?
- 1Извлекать числа по позиции в Пандах?
- 1Совместимые с Perl механизмы регулярных выражений: как реализовано?
- 0Объект Javascript: область видимости переменной экземпляра
- 1Добавление цветовой карты поверх плитки карты с помощью Bokeh
- 1Spring RestTemplate пересылает большой файл в другой сервис
- 0Удалить отступ между вкладкой 2 jquery
- 0Многоязычное приложение Codeigniter для хранения данных
- 0как получить доступ к объекту класса A, определенного в main, из другого класса
- 0Как мне создать идентификатор для каждой записи в таблице базы данных?
- 0PHP exec () с URL?
- 0com.mysql.jdbc.MysqlDataTruncation: усечение данных: неверное значение даты и времени: «0000-00-00 00:00:00» для столбца «lastchange» в строке 1
- 0параметр по умолчанию ostream в функции шаблона
- 1Характер. Объяснение белого пространства
- 1OpenCSV CSVReader UTF-8 кодировка
- 1Bing Maps v8 – встроенная канцелярская кнопка SVG не запускает правильный информационный блок
- 0файл загружен в папку, но путь не сохраняется в базе данных
- 1Передача метода в lodash с помощью vue дает ‘Ожидаемая функция’
- 0ng-options объекта, как получить значение ключа для функции (angularJS)
- 0Изображение сжимается при прокрутке вниз, JQuery
- 0транзакция knex не работает в nodejs
- 1multiprocessing – Влияние числа на процесс на время обработки
- 1В чем разница между двумя способами назначения методов для объекта делегата [дубликата]
- 0Непоследовательное поведение jQuery each () с необъяснимым исправлением
- 0Найти повторяющиеся значения concat
- 0Лучший способ отслеживать счетчик на уровне базы данных
- 0От клиента было обнаружено потенциально опасное значение Request.Path (:)
- 0Мой текст вращается, но фоновое изображение не
- 0Как использовать .bind (), чтобы связать значение этого?
- 0Производные от синглтона: один объект каждый из базы и производные?
- 1Установить ACL на функцию Lambda Python MediaConvert
- 1Проблема Xamarin Forms CustomPicker
- 0Состояние Jquery Hover не отображается при наведении курсора
- 0HTML-страница не может найти угловой
- 0Отправка значений в базу данных с помощью Python (проект SenseHAT)
- 1Обнаружение сбоя соединения RMI при обратном вызове
- 0Ключ API Google MAP в приложении Angular
- 1Во время вызова OnActionExecuting for Web API – Как сопоставить контроллер / класс действия из строки маршрута для чтения атрибутов действия
- 1Где внешняя библиотека, загруженная gradle, хранится в проекте Android?
- 0Данные angularjs в службе не могут быть разделены между различными контроллерами
- 0jqGrid с использованием navGrid с position = right не работает
- 1Как отобразить изображение с помощью imageurl в C #
- 0Поведение компилятора для целочисленных указателей на необъявленную память
- 1Scipy rv_continuous неправильно генерирует образец из распределения
- 1Нажмите для удаленного хранилища