101

Re: Потрібна допомога

koala написав:

Про memtest - це був сарказм.
Про помилку - join вимагає, щоб всі елементи були типу string, тобто вам треба робити

lists = ''.join(str(l) for l in lists)

Я вже сам знайшов помилку, але всеодно дякую. Як тільки я подумав про що йде мова в помилці, що вибиває - одразу зрозумів в чому помилка. Якби ви не попросили написати помилку, я б ще довго промучився б.
Помилку я виправив трохи легшим способом.
добавив в виділеному #!!!! рядку str

v = int(input())
lists = []
for i in range(v):
    #!!!!
    n = str(sum(map(int, input().split())))
    #!!!!
    lists.append(n)
lists = ''.join(lists)
print(lists)

102

Re: Потрібна допомога

Щось забагато слів "помилка" :D

103

Re: Потрібна допомога

Знову помилка...

v = input().split()
print(v)
maximum = []
minimum = []
p = 0
for i in range(299):
    m = v.pop(0)
    n = v.pop(0)
    m = int(m)
    n = int(n)
    if p == 0:
        if m > n:
            maximum.append(str(m))
            minimum.append(str(n))
        else:
            maximum.append(str(n))
            minimum.append(str(m))
    else:
        t = int(maximum.pop(0))
        c = int(minimum.pop(0))
        if m > n:
            if m > t:
                maximum.append(str(m))
            else:
                maximum.append(str(t))
            if n < c:
                minimum.append(str(n))
            else:
                minimum.append(str(c))
        else:
            if n > t:
                maximum.append(str(n))
            else:
                maximum.append(str(t))
            if m < c:
                minimum.append(str(m))
            else:
                minimum.append(str(c))
    p = p + 1
x = minimum.pop(0)
maximum = maximum.append(x)
q = ' '.join(maximum)
print(q)

Ця програма повинна виконати ось це завдання - http://www.codeabbey.com/index/task_vie … m-of-array

Вибиває таку помилку - Traceback (most recent call last):  File "solution.py", line 7, in <module>    m = v.pop(0)IndexError: pop from empty list
В кінці, я так зрозумів, пише, що функція поп спрямована (чи як це правильно сказати) пустий список. Але ж список то геть не пустий!

104 Востаннє редагувалося /KIT\ (08.07.2021 13:26:42)

Re: Потрібна допомога

`

105

Re: Потрібна допомога

/KIT\ написав:

спробуй

input().split(' ')

та ж сама помилка

106

Re: Потрібна допомога

У списку v 300 значень. Ви робите

    m = v.pop(0)
    n = v.pop(0)

Скільки значень залишилося в масиві?
Ну а загалом

v = int(x) for x in input().split()
print(max(v),min(v))
Подякували: Eff1c1

107

Re: Потрібна допомога

koala написав:

У списку v 300 значень. Ви робите

    m = v.pop(0)
    n = v.pop(0)

Скільки значень залишилося в масиві?
Ну а загалом

v = int(x) for x in input().split()
print(max(v),min(v))

Там просто в завданні прохання не використовувати встроєні функції для визначення максимуму і мінімуму.

108

Re: Потрібна допомога

v = sorted(int(x) for x in input().split())
print(v[-1],v[0])

Так краще?

І ви помітили перше питання?

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

109

Re: Потрібна допомога

koala написав:
=v = sorted(int(x) for x in input().split())
print(v[-1],v[0])

Так краще?

І ви помітили перше питання?

Дякую.
Так там хіба не список? Чи це одне й теж?
Я думав просто забирати по 2 елемента і їх порівнювати спочатку між собою, а потім з тими числами, що в списках.

110

Re: Потрібна допомога

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

koala написав:

У списку v 300 значень. Ви робите

    m = v.pop(0)
    n = v.pop(0)

Скільки значень залишилося в масиві?

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

111

Re: Потрібна допомога

Ок, якщо так заскладно: на столі лежало 300 яблук. З них 299 разів взяли по 2 яблука. Скільки яблук лишилося на столі?

112

Re: Потрібна допомога

-298?

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

113

Re: Потрібна допомога

Затупив. :(

114

Re: Потрібна допомога

Потрібно заукруглити числа з комою до цілих, але int() 1,5 заукруглює до 1, а потрібно щоб 0,5 заукруглювалося до 1.
Надіюсь, ви зрозуміли.
Як це можна виправити?

115

Re: Потрібна допомога

Ви, звісно, вже прочитали довідку по всіх вбудованих функціях, перед тим як питати на форумі?

Подякували: ping, Eff1c2

116

Re: Потрібна допомога

Крім того, 0.5 і має заокруглюватися до 0, якщо округлення «до найближчого парного».

Подякували: ping, Eff1c2

117

Re: Потрібна допомога

Eff1c написав:

Потрібно заукруглити числа з комою до цілих, але int() 1,5 заукруглює до 1, а потрібно щоб 0,5 заукруглювалося до 1.
Надіюсь, ви зрозуміли.
Як це можна виправити?

не виправити, а написати собі свою функцію.

для заокруглення є round
int - не заокруглює
https://docs.python.org/3/library/functions.html
https://docs.python.org/3/library/math.html

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

118

Re: Потрібна допомога

Дякую

119

Re: Потрібна допомога

Ніяк не можу знайти помилку в цій програмі.

v = int(input())
out = []
for i in range(v):
    n1 = input().split()
    for w in range(3):
        n1.append(int(n1.pop(0)))
    n2 = n1.pop(n1.index(max(n1)))
    print(str(n2))
    print(n1)
    n3 = n1.pop(0)
    n4 = n1.pop(0)
    n5 = n3 + n4
    if n2 > n5:
        m = 0
    else:
        m = 1
    out.append(str(m))
print(' '.join(out))

Програма створена для цієї задачі - http://www.codeabbey.com/index/task_view/triangles
Прога робить і мої тестування чудово проходить, але на тій задачі з її випадковими числами видає неправильну відповідь.
Ps. Я не став порівнювати кожну сторону з сумою протилежних сторін, так як якщо визначити найбільшу, то достатньо порівняти тільки її.

120

Re: Потрібна допомога

Eff1c написав:

Ніяк не можу знайти помилку в програмі...

Програма створена для цієї задачі - http://www.codeabbey.com/index/task_view/triangles

Я не став перевіряти ваш код, бо пітона я ще не вивчив, і взагалі сьогодні я вдруге в житті писав на Python 3. Ось робочий код (для 3.6) :

out = []
for index in range(int(input())):
    triplet = list(map(int, input().split(' ')))
    #print(' '.join(map(str, triplet)))
    valid = True
    for i, side in enumerate(triplet):
        valid &= side <= sum([s for j, s in enumerate(triplet) if j != i])
    out.append('1' if valid else '0')
print(' '.join(out))

Якщо якийсь тест не пройде, то попробуйте "side < sum" замість "side <= sum".

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