Как найти произведение трех чисел в питоне

Обложка к статье "Найти в Python сумму, произведение и среднее арифметическое трёх целых чисел"

На чтение 3 мин Просмотров 2к. Опубликовано

Данная статья посвящена решению задачи на 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)

Этот код принимает три целых числа, разделенных пробелами, от пользователя и вычисляет сумму, произведение и среднее арифметическое этих чисел. Результаты выводятся на экран.

Найти сумму, произведение и среднее арифметическое трёх целых чисел, введённых с клавиатуры

24.11.2019, 14:14. Показов 157146. Ответов 1


Студворк — интернет-сервис помощи студентам

Всем привет. На курсе попалось такое простецкое задание

Напишите программу, которая находит сумму, произведение и среднее арифметическое трёх целых чисел, введённых с клавиатуры. Три целых числа вводятся в одной строке через пробелы.Программа должна вывести сумму, произведение и среднее арифметическое введенных чисел. Среднее арифметическое нужно вывести с точностью 3 знака после десятичной точки.
А вот мой код:

Python
1
2
3
4
5
6
7
8
a = int(input())
b = int(input())
c = int(input())
print(a,'+',b,'+',c,'=',a+b+c)
print(a,'*',b,'*',c,'=',a*b*c)
z = (a+b+c)/3
z = round(z,3)
print('(',a,'+',b,'+',c,')/3=',z)

Проблемы две. В задании сказано, что числа вводятся в одну строке, но у меня таким образом выскакивает ошибка, и цифры нужно вводить построчно. Вторая: среднее арифметическое нужно вывести с 3 знаками после запятой. Но в некотором случае есть дроби с периодами, как это обозначить на коде? Спасибо



0



Write a program in python program to find sum or product when you press s it will find sum and when you will press p find product.if you entered other character it will print you entered wrong character.ch value is not comparing with s or p.error s is not defined

a = input("enter a numbern")
b = input("enter a numbern")
c = input("enter a numbern")
print "enter s for sum and p for product"
ch = input("enter character")
if(ch=='s'):
    s = a+b+c
    print "the product of the number:" +s
elif(ch =='p'):
    p = a*b*c
    print "the product of the number:" +p
else:
    print "entered invalid character"

This code giving

Name error: name 's' is not defined

martineau's user avatar

martineau

119k25 gold badges164 silver badges294 bronze badges

asked Sep 7, 2017 at 17:13

Manjot Singh's user avatar

0

Use raw_input for read string from input.

a = input("enter a numbern")
b = input("enter a numbern")
c = input("enter a numbern")
print "enter s for sum and p for product"
ch = raw_input("enter character")
if(ch=='s'):
    s = a+b+c
    print "the product of the number:" +str(s)
elif(ch =='p'):
    p = a*b*c
    print "the product of the number:" +str(p)
else:
    print "entered invalid character"

answered Sep 7, 2017 at 17:20

Dharmesh Fumakiya's user avatar

2

Я приведу не очень практичное, но красивое решение в одну строку. Оно не использует eval, побочные эффекты при работе со списком или именованные функции.

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

def p(a):
    if a:
        return a[0] * p(a[1:])
    return 1

print(p([1, 2, 3, 4, 5]))

Нам оно не подходит, так именованная функция требует минимум две строки для определения и вызова. Лямбду можно определить и вызвать в одной строке, но есть трудность в создании рекурсивной лямбды. Синтаксис Python разрешает такой трюк:

p = (lambda a: a[0] * p(a[1:]) if a else 1); print(p([1, 2, 3, 4, 5]))

Это именно трюк с глобальной переменной и двумя операторами в одной строке. А можно обойтись без глобальной переменной вообще. На первый взгляд этого не может быть так как имя нужно чтобы сделать рекурсивный вызов. Но функцию можно передать как аргумент в саму себя:

p = lambda f, a: a[0] * f(f, a[1:]) if a else 1
print(p(p, [1, 2, 3, 4, 5]))

Кажется мы ничего не выиграли: всё равно два оператора и глобальная переменная p. Однако сделан очень важный шаг — тело лямбды не использует глобальные переменные. Глобальная переменная используется в операторе print. Избавимся от неё:

p = lambda f, a: a[0] * f(f, a[1:]) if a else 1
y = lambda f, a: f(f, a)
print(y(p, [1, 2, 3, 4, 5]))

Стало только хуже: три строки и две глобальные переменные. Зато каждая глобальная переменная задействована только один раз. Делаем подстановку:

print((lambda f, a: f(f, a))(lambda f, a: a[0] * f(f, a[1:]) if a else 1, [1, 2, 3, 4, 5]))

Читается тяжело, но задача решена в одну строку без глобальных имён и волшебных вызовов eval.

P.S. Читайте Fixed-point combinator чтобы узнать откуда пошло это решение.

P.P.S. Красивое утверждение: программу любой сложности можно записать в функциональном стиле не определив ни одной глобальной переменной, включая имена функций.

P.P.P.S. Не пытайтесь повторить это дома.

Здравствуйте помогите решить задачку для сестры. пытался сам но выдает синтаксическую ошибку(

Введите три числа, найти их сумму, произведение и среднее арифметическое.
Пример:
4
5
7
4+5+7=16
4*5*7=140
(4+5+7)/3=5.333333

print(“Введите три числа:”)
a = 4
b = 5
c = 7
d = a + b + c
e = a * b * c
f = (a + b + c) / 3
print(a, “+”, b, “+”, c, “=”, d)
print(a, “*”, b, “*”, c, “=”, e)
print((a, “+”, b, “+”, c,) “/”, 3, “=”, f)

Понравилась статья? Поделить с друзьями:
  • Как найти подсос воздуха видео
  • Как найти данные на транспортное средство
  • Как мне найти любимую девушку
  • Как вы нашли свою стезю
  • Smart status bad backup and replace как исправить asus ноутбук