@python_beginnersЭта группа больше не существует

Страница 113 из 1885
Andrey
04.07.2016
19:39:17
ну и range(len(a)) можно как range(size) записать

Dim
04.07.2016
19:40:44
нуда

Темный
04.07.2016
19:41:03
так, а как без join сделать строку из списка?

Andrey
04.07.2016
19:41:36
конкатенацией

Google
Темный
04.07.2016
19:41:51
епт, точно

конкатенацией
так, а если надо разделить пробелом и что бы после последнего числа не было пробела?

Темный
04.07.2016
20:04:32
так, а как без join сделать строку из списка7

Andrey
04.07.2016
20:04:49
ну соответсвенно тебе надо поставить на один пробел меньше чем элементов в списке

Темный
04.07.2016
20:06:25
Зачем без join?
типа еще не изучено

условие такое

ладно, хер с ним, пусть будет join, запарило столько времени на простую задачу

Denis
04.07.2016
20:08:02
def join(arr, sep): s = arr[0] for i in arr[1:] s += sep + i return s

Темный
04.07.2016
20:08:39
функции тоже еще типа не изучены, лол

Andrey
04.07.2016
20:10:38
функции тоже еще типа не изучены, лол
ну используй ее не как функцию

Темный
04.07.2016
20:11:16
так, последний раз на сегодня пристаю, почему join не сработало? a = [int(i) for i in input().split()] out = [] d = len(a) count = 1 finish = 0 if d != 1 and d > 0: for element in a: if element == a[0]: out.append(a[-1] + a[1]) elif element == a[d - 1]: out.append(a[0] + a[d - 2]) else: out.append(a[count - 1] + a[count + 1]) count += 1 finish = ' '.join(out) print(finish) else: finish = str(a[0]) print(finish)

Google
Andrey
04.07.2016
20:11:19
@bladdon только надо не с 0 а с 1 элемента итерироваться тогда

Темный
04.07.2016
20:11:26
TypeError: sequence item 0: expected str instance, int found

Sergey
04.07.2016
20:11:43
типа еще не изучено
С разделителем или без?

Темный
04.07.2016
20:12:26
С разделителем или без?
" ", без разделителя после последнего

Denis
04.07.2016
20:12:40
Темный
04.07.2016
20:13:13
но ведь и так должно было сработать? разве нет?

Denis
04.07.2016
20:13:27
Нет, join хочет массив строк

Andrey
04.07.2016
20:13:34
если у тебя в массиве только строки то сработает

Denis
04.07.2016
20:13:58
А еще можно print(*out)

Sergey
04.07.2016
20:13:59
" ", без разделителя после последнего
In [11]: x=list('ahdhejhehdd') In [12]: y='' In [13]: while x: z = x.pop(0) y += (z + ' ') if x else z ....: In [14]: y Out[14]: 'a h d h e j h e h d d'

Самоё очевидное

Sergey
04.07.2016
20:15:25
Или можно убрать условие и просто последний пробел обрезать

Viktor
04.07.2016
20:16:55
d != 1 and d > 0 == d > 1
d = 0.5 Upd: вижу, протупил

Темный
04.07.2016
20:19:00
уже сделал

Dim
04.07.2016
20:19:08
делает
пришлите входные данные

элементарно '5 1 2 6 5 6 6' дает '7 7 7 11 7 11 11' » 2+5 != 11 6+6 != 7

Темный
04.07.2016
20:22:42
пришлите входные данные
Sample Input 1: 1 3 5 6 10 Sample Output 1: 13 6 9 15 7

Google
Dim
04.07.2016
20:22:55
попробуйте

Темный
04.07.2016
20:24:00
Dim
04.07.2016
20:24:04
если утрировать можно и так решение описать a = '1 3 5 6 10' return '13 6 9 15 7'

Темный
04.07.2016
20:28:46
кароче надо по индексам счиатть, я понял

алилуя

а я по значениям считал, кто-то даже выше говорил об этом

mey
05.07.2016
04:54:51
Всем привет, можете проверить алгоритм, пожалуста

Выше кидали задачу про трехмерный массив и максимальную сумму взаимно перпендикулярных столбоцов/строк

Вот мой алгоритм: для каждой ячейки находим сумму относительно нее вот так

mey
05.07.2016
04:58:31
Я праивльно сделала или нет?

Zart
05.07.2016
04:59:41
в лоб

mey
05.07.2016
04:59:56
Но это правильно?

Мне хотя бы так

Zart
05.07.2016
05:00:22
кажется нет

у тебя s1..s3 обнуляются лишь в начале всего скана

а надо занулять для каждой ячейки, иначе у тебя сумма будет накапливаться ояебу

mey
05.07.2016
05:01:03
Нет, потом еще в цикле

Google
Zart
05.07.2016
05:01:26
а, вижу

mey
05.07.2016
05:01:29
For z in range(n)

Zart
05.07.2016
05:01:47
но зачем совать зануление перед циклами и в конце, если можно просто в начале тела цикла

не понимаю зачем coord*=*

mey
05.07.2016
05:02:22
Для читаемости

Zart
05.07.2016
05:02:41
скорее наоборот

mey
05.07.2016
05:03:01
Можно это все убрать

Zart
05.07.2016
05:03:21
в общем решение сделано грубым перебором

Admin
ERROR: S client not available

mey
05.07.2016
05:03:38
Я думала над тем, как иначе

Можно находить макс суммы относительно каждой грани

Макс столбец

Zart
05.07.2016
05:04:04
гм... ну можно посчитать суммы всех линий в один проход

mey
05.07.2016
05:04:07
Для него второй макс столбец

Zart
05.07.2016
05:04:11
а потом сканировать с оптимизацией

mey
05.07.2016
05:04:19
А для третьего третий

Zart
05.07.2016
05:04:39
не, проблема с поиском максимумов по каждой грани в том, что там надо будет вычитать пересечение

mey
05.07.2016
05:04:43
Но не факт, что для макс столбца сумма всех будет максимальной

Zart
05.07.2016
05:04:52
угу

mey
05.07.2016
05:06:23
Я забыла, как программа называется

Google
mey
05.07.2016
05:06:36
С 3D моделированием

Zart
05.07.2016
05:07:04
их много.. 3дстудио макс, блендер, лайтвейв, майя

mey
05.07.2016
05:07:19
Опенгл

Вот

Zart
05.07.2016
05:07:28
это не программа

mey
05.07.2016
05:07:32
И курсач на 1 курс готов лол

Zart
05.07.2016
05:07:40
условия задачи дай-ка

mey
05.07.2016
05:07:46
Я не знаю

Кидали где-то здесь

Zart
05.07.2016
05:07:53
я про это пересечение

mey
05.07.2016
05:08:02
Я просто внимание обратила

Да, кстати, я неправильно сделала

Я не вычла пересечение

Нужно его вычитать

Zart
05.07.2016
05:08:28
просто если точка пересечения должна учитываться лишь раз, то тогда твой код неверен

да

mey
05.07.2016
05:10:06
Я доработала)

C opengl трудно работать?

Сколько примерно времени уйдет на то, чтобы я сделала это в трехмерном пространстве?

Zart
05.07.2016
05:11:39
import random from pprint import pprint n = int(input()) a = [[[random.randint(1, 100) for z in range(n)] for y in range(n)] for x in range (n)] # заполнение куба pprint(a) c = 0, 0, 0 summ = a[0][0][0] for x in range(n): for y in range(n): for z in range(n): s = sum((a[i][y][z] + a[x][i][z] + a[x][y][i]) for i in range(n)) s -= a[x][y][z] * 2 if s > summ: summ = max(summ, s) c = x, y, z print('максимальная сумма в данном случае') print(summ) print('координаты взаимно перепендикулярных столбоцов') print('(', c[0]+1, ';', c[1] +1, ';', c[2] +1, ')')

Страница 113 из 1885

Эта группа больше не существует Эта группа больше не существует