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

Вызов значения из другой функции

09.07.2023, 23:09. Показов 445. Ответов 1
Метки нет (Все метки)

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

У меня задача - собрать по вводным данным список, причем если введено только одно значение или вообще не введено то выводится ошибка. После составления списка необходимо найти макс., мин. значения, медиану, среднее значение и стандартное отклонение желательно без вызова импорта математических операций. Все значения вывести на печать
Вопросы:
- правильно и оптимально ли составлена функция по расчету медианы да и вообще остальные функции. Хотелось бы услышать строгую оценку от гуру этого форума
- могу ли я как-то вызвать среднее значение чтобы не пересчитывать заново его для функции со стандартным отклонением
Заранее спасибо

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
def devi(input_list, mean_val): #deviation
 
    for number in input_list:
 
        variance = sum((number - mean_val)**2)/len(input_list)
 
    devi_val = variance**0.5
 
    return devi_val
 
def mean(input_list): #average
 
    sum = 0
    mean_val = 0
    for number in input_list:
        sum += int(number)
 
    mean_val = sum/len(input_list)
 
    return mean_val
 
def med(input_list): #median
 
    test_list = sorted(input_list)
    N = len(test_list)//2
 
    if len(test_list)%2 == 0:
        med_val = int(test_list[int(N)]+test_list[int(N-1)])/2
    else:
        med_val = input_list[N]
 
    return med_val
 
def min_max(input_list): #min max values
 
    max_val = max(input_list)
 
    min_val = min(input_list)
 
    return max_val, min_val
 
def main():
 
    input_list = [] #initial list is empty.
    print("Enter seawater levels in centimeters one per line.")
    print("End by entering an empty line.")
 
    index = 1
    number = None
    while number != "":
        number = input()
        input_list.append(number)
        if number == "" and index == 1:
            print("Error: At least two measurements must be entered!")
        elif number == "" and index == 2:
            print("Error: At least two measurements must be entered!")
            break
        elif number == "" and index > 2:
            input_list.remove(number)
 
        index += 1
 
    print(max(input_list))
    print(min(input_list))
    print(med(input_list))
    print(mean(input_list))
    print(devi(input_list))
 
if __name__ == "__main__":
      main()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.07.2023, 23:09
Ответы с готовыми решениями:

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

Вызов одной функции из другой, видимость переменных
Осваиваю Python 3 после C++ Задача поиска пути в лабиринте Обычный BFS Как мне сделать чтобы значения массива ходов last_move...

Вызов одной функции из другой
Добрый день! Есть две функции. Одна - выполняет поставленную задачу - переворачивает введенную последовательность. Вторая - ограничивает...

1
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
10.07.2023, 01:22
Цитата Сообщение от Robert Kudashev Посмотреть сообщение
Хотелось бы услышать строгую оценку от гуру этого форума
Двойка вам за задание. Вы свой код сами запускали? У вас постоянно ошибки "валятся".

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def mean(values):
    return sum(values) / len(values)
 
 
def median(values):
    center_index = len(values) // 2
    if len(values) % 2:
        return sorted(values)[center_index]
    return sum(sorted(values)[center_index - 1:center_index + 1]) / 2
 
 
def deviation(values):
    mean_value = mean(values)
    dispersion = sum((mean_value - i) ** 2 for i in values) / len(values)
    return dispersion ** 0.5
 
 
def main():
    data = []  # initial list is empty.
    print("Enter seawater levels in centimeters one per line.")
    print("End by entering an empty line.")
 
    while True:
        user_input = input()
        if user_input == "":
            if len(data) >= 2:
                break
            else:
                print("Error: At least two measurements must be entered!")
                continue
        try:
            data.append(float(user_input))
        except ValueError:
            print("Error: Not a number")
 
    print(f"Maximum value = {max(data)}")
    print(f"Minimum value = {min(data)}")
    print(f"Median value = {median(data)}")
    print(f"Mean value = {mean(data)}")
    print(f"Deviation = {deviation(data)}")
 
 
if __name__ == "__main__":
    main()
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.07.2023, 01:22
Помогаю со студенческими работами здесь

Вызов функции внутри другой функции с передачей локальной переменной по ссылке
Столкнулся с очень с интересной проблемой. Можно ли так делать? #include <iostream> using std::cout; void f(const int...

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

Вызов массива, сформированной в одной функции с другой функции
Здравствуйте! Есть разрабатываемое решение - состоящее из main.cpp и array.cpp Main - выражает собой меню в консольном режиме по...

Вызов функции из другой функции после нажатия на кнопку
Помогите, пожалуйста! Никак не могу понять почему не запускается функция d() Полный код: <script language="javascript">...

Вызов функции, находящейся в другой функции
Добрый день! Есть такая функция: function func1(p1, p2) { function func2() {alert(1);} func2(); } Мне нужно...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru