Подключение самосозданного модуля Python
- Нужно создать модуль в котором написать 3 функции, каждая из которых принимает список. Первая функция – получение максимального значения, вторая – получение минимального значения, третья – получение суммы всех элементов. Я написал но он не работает подскажите почему пожалуйста:
def getmax(arr):
max = arr[1]
for n in arr:
if n > max:
max = n
return max
def getmin(arr):
min = arr[0]
for n in arr:
if n < min:
min = n
return min
def summa(arr):
a = sum(arr)
return a
- Нужно написать мини программу импортировать туда созданный модуль. Так же он должен по нажатию цифры выполнять следующие функции из модуля 1 - Сложение; 2 - Вычитание ; 3 - Умножение; 4 - Деление; 0 - Выход из программы и выводить результат. Хоть и модуль не работает я все равно написал программу она тоже не работает. помогите исправить ошибки:
import spiski
while True:
print('1 - Максимальное значение списка; 2 - Минимальное значение списка ; 3 - Сумма чисел списка ; 0 - Выход из программы')
code = input('Введите команду: ')
if code == '0':
exit(0)
arr = [
i for i in range(
int(input('Введите знчение списка 1(Начальное): ')),
int(input('Введите знчение списка 2(Конечное): ')))]
if code == '1':
r = spiski.getmax(arr)
elif code == '2':
r = spiski.getmin(arr)
elif code == '3':
r = spiski.summa(arr)
print('Результат', '=', r)
Ответы (1 шт):
Автор решения: Be3y4uu_K0T
→ Ссылка
У Вас в getmax проблема с табуляцией - return в цикле после проверки сразу идет. А основном скрипте логических ошибок нет, в чем конкретнее он не работал? Также вопрос: Вам надо был свои функции max, min и sum написать? Я задаю этот вопрос Вам, потому что в первых двух случаях Вы делает свою реализацию, а в последнем используете встроенную функцию sum.
Из того, что я понял:
Файл Main.py:
import MyModule
while True:
code = input(
'1 - Максимальное значение списка\n'
'2 - Минимальное значение списка\n'
'3 - Сумма чисел списка\n'
'0 - Выход из программы\n'
'Введите команду: '
)
if code == '0':
break
start = int(input('Введите начальное значение списка: '))
end = int(input('Введите конечное значение списка: '))
array = list(range(start, end)) # Список: [Start; End)
if code == '1':
result = MyModule.get_max(array)
elif code == '2':
result = MyModule.get_min(array)
elif code == '3':
result = MyModule.get_sum(array)
print(f'Результат = {result}')
Файл MyModule.py:
def get_max(array):
result = array[0]
for element in array:
if element > result:
result = element
return result
def get_min(array):
result = array[0]
for element in array:
if element < result:
result = element
return result
def get_sum(array):
result = 0
for element in array:
result += element
return result
P.S. Используйте встроенные функции max, min, sum в реальном коде, т.к. они написаны на C, поэтому работают быстрее - ссылка