Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 24.12.2021
Сообщений: 21

Ввод значений в функцию с клавиатуры, у которой аргумент *args

15.12.2022, 18:09. Показов 1693. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача, функция принимает переменное количество аргументов и находит среднее арифметическое ненулевых из них.
Например на ввод: 1 2 3 0 0 на вывод: 2. Как сделать чтобы ввод был с клавиатуры через пробел, так как знаю *args образует кортеж значит ему нужны данные через запятую например: 1, 2, 3, 0, 0.
Код такой
Python
1
2
3
4
5
def avg(*args):
    tmp = [i for i in args if i != 0]
    sredneeChislo = round((sum(args)) / len(tmp), 1)
    print(sredneeChislo)
avg(1, 2, 3, 0, 0)
В таком видео он выводи результат: 2.0
Но если я напишу так
Python
1
2
3
4
5
def avg(*args):
    tmp = [i for i in args if i != 0]
    sredneeChislo = round((sum(args)) / len(tmp), 1)
    print(sredneeChislo)
avg(input())
И даже если буду вводить через запятую как надо выдаст ошибку
Python
1
2
3
4
5
6
Traceback (most recent call last):
  File "D:\PyCharm\Proecti\PerviyZapusk\main.py", line 6, in <module>
    avg(input())
  File "D:\PyCharm\Proecti\PerviyZapusk\main.py", line 3, in avg
    sredneeChislo = round((sum(args)) / len(tmp), 1)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Как мне реализовать это
Ну если есть возможность подскажите с округлением, округление делает даже если ответ 2, то пишет 2.0, а когда ответ 1.5 то 1.5, все норм, но если ответ 2 то и на вывод должен выйти ответ 2, без нуля
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.12.2022, 18:09
Ответы с готовыми решениями:

Написать функцию, у которой один входной аргумент. Если этот аргумент – вектор-строка или вектор-столбец,
Написать функцию, у которой один входной аргумент. Если этот аргумент – вектор-строка или вектор-столбец, то функция должна возвратить...

Как передать аргумент в внешнюю функцию к которой обращение из другой фунеции
function f1(x) { //как добавить в это поле видимости y который = 5 (let end = f2(f1,5);) return alert('f1:'+x+y); }; ...

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

5
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
15.12.2022, 18:21
Лучший ответ Сообщение было отмечено Gaben254 как решение

Решение

1
0 / 0 / 0
Регистрация: 24.12.2021
Сообщений: 21
15.12.2022, 18:32  [ТС]
Python
1
2
3
4
def avg(*args):
    tmp = [i for i in args if i != 0]
    return sum(tmp) // len(tmp)
print(avg(*map(int, input().slpit())))
Вроде правильно написал, но ошибка
Python
1
2
3
4
Traceback (most recent call last):
  File "D:\PyCharm\Proecti\PerviyZapusk\main.py", line 4, in <module>
    print(avg(*map(int, input().slpit())))
AttributeError: 'str' object has no attribute 'slpit'
Использую PyCharm
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
15.12.2022, 18:34
Цитата Сообщение от Gaben254 Посмотреть сообщение
Вроде правильно написал
Цитата Сообщение от Gaben254 Посмотреть сообщение
Использую PyCharm
И пайчарм тебе не подчеркнул косяк?
Цитата Сообщение от Gaben254 Посмотреть сообщение
slpit
split
0
0 / 0 / 0
Регистрация: 24.12.2021
Сообщений: 21
15.12.2022, 18:37  [ТС]
Привык к С#, где выделяется красным, а тут не сном не духом, не понял даже что так ошибку выделил
Миниатюры
Ввод значений в функцию с клавиатуры, у которой аргумент *args  
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
15.12.2022, 18:39
Gaben254, я тебе больше скажу - она еще и красным подчеркнута, только наложилось на варнинг.
Ctrl+Alt+L
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2022, 18:39
Помогаю со студенческими работами здесь

Ввести аргумент x с помощью клавиатуры и определить, попадает ли он в область допустимых значений
1. Найти область допустимых значений аргумента x. 2. Написать процедуру или функцию, которая вычисляет область допустимых значений...

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

Ввести аргумент x с помощью клавиатуры и определить, попадает ли он в область допустимых значений.
1. Найти область допустимых значений аргумента x. 2. Написать процедуру или функцию, которая вычисляет область допустимых значений...

Определите функцию FUNREVERS, аргумент которой – два имени функций, а значение – PROG-выражение
Определите функцию FUNREVERS, аргумент которой – два имени функций, а значение – PROG-выражение, определяющее вторую функцию точно такой...

Написать функцию - обёртку, принимающую в качестве аргумента функцию int (*)(int) и аргумент, и хранящую предыдущий аргумент и возвращаемый результат
помогите пожалуйста с программой. как реализовать это на Си и что за функция обёртка?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника Номенклатура по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника Сотрудники по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru