1 Востаннє редагувалося darsteba (22.03.2023 21:17:38)

Тема: В чому помилка ?

Коли роблю перевірку в mymod , то все працює коректно , коли імпорую mymod в мейн файл , то видає помилкові значення.
На якому моменті я зробив щось не так , підкажіть , будь ласка?
Вхідні дані однакові

mymod ->

def findmax(list1):
    maxi = list1[0]
    for ma in list1:
        if ma > maxi:
            maxi = ma
    print("MAX - ", maxi)


def findmin(list2):
    mini = list2[0]
    for mi in list2:
        if mi < mini:
            mini = mi
    print("MIN - ", mini)


# lol = [1, 2, 3, 4, 5, 6, 77, 8, 9, 11, 12]


# findmax(lol)
# findmin(lol)

main - >

import mymod 


i = 0
el = 0
while el == 0:
    try:
        arrl = []
        el = int(input("Enter quantify of el - "))
        while i < el:
            string = "enter element number |" + str(i)+"| -> "
            arrl.append(input(string))
            i += 1
    except ValueError:
        print("try int")

print("OUR list -> ",arrl)
mymod.findmax(arrl)
mymod.findmin(arrl)

2

Re: В чому помилка ?

darsteba написав:

видає помилкові значення.

А можна конкретніше? Що саме ви вводите і що виводиться? Ви в курсі, що, хоча 2<10, "2">"10"?

Подякували: Betterthanyou, leofun012

3

Re: В чому помилка ?

koala написав:
darsteba написав:

видає помилкові значення.

А можна конкретніше? Що саме ви вводите і що виводиться? Ви в курсі, що, хоча 2<10, "2">"10"?

вхідні дані - список з певної к-сть елементів .
Я використовував 11 елементів  = [1, 2, 3, 4, 5, 6, 77, 8, 9, 11, 12]

Коли роблю перевірку в mymod , то отримую MAX -  77 \ MIN -  1
Коли роблю перевірку в main , то отримую MAX -  9 \ MIN -  1

Також прохання пояснити , що означає " хоча 2<10, "2">"10"  "

4

Re: В чому помилка ?

darsteba написав:
koala написав:
darsteba написав:

видає помилкові значення.

А можна конкретніше? Що саме ви вводите і що виводиться? Ви в курсі, що, хоча 2<10, "2">"10"?

вхідні дані - список з певної к-сть елементів .
Я використовував 11 елементів  = [1, 2, 3, 4, 5, 6, 77, 8, 9, 11, 12]

Коли роблю перевірку в mymod , то отримую MAX -  77 \ MIN -  1
Коли роблю перевірку в main , то отримую MAX -  9 \ MIN -  1

Також прохання пояснити , що означає " хоча 2<10, "2">"10"  "

>>> "9">"77"
True

як ми бачимо, стрічка "9" має більше значення ніж стрічка "77"

в свому "тесті" ви використовували масив ЧИСЕЛ
а в main ви використовуєте масив СТРІЧОК

arrl.append(input(string)) <- str
arrl.append(int(input(string))) <- int

Подякували: leofun01, darsteba2

5

Re: В чому помилка ?

Стрічки порівнюються лексикографічно, тобто як слова у словнику. Перша цифра "9" більша за першу цифру "7", отже, "9">"77".

Подякували: darsteba1