@ChatPython

Страница 184 из 228
Marshal
13.05.2018
19:16:40
Посмотри мой вариант пожалуйста)
Не могу понять откуда там "k"

Igor
13.05.2018
19:16:44
а что вы имеете ввиду под "k"

?

Elliot
13.05.2018
19:16:52
Google
Gold
13.05.2018
19:16:56
Не могу понять откуда там "k"
Это любой символ , можно и "p"

Marshal
13.05.2018
19:17:19
Это любой символ , можно и "p"
Но ему нужны брать буквы из строки ?

Igor
13.05.2018
19:18:12
Этот чем плох?
Извини,я новичок.Как-то нечитабельно выглядит,но я попробую.Всё равно спасибо

Gold
13.05.2018
19:18:19
Тогда : b = "bigstring" a = "string" m = Len(b) - len(a) a = a + m * b[:k] print(a)

Marshal
13.05.2018
19:18:44
Извини,я новичок.Как-то нечитабельно выглядит,но я попробую.Всё равно спасибо
Мой вариант такой же как у него, но более читабельный

Gold
13.05.2018
19:18:48
Или последовательно нужно прибавлять буквы строки b?

Igor
13.05.2018
19:20:10
Минуту

Marshal
13.05.2018
19:20:20
Приведи пример ввода и вывода программы
Я же писал выше b = 'qwerty1' a = 'test' Вывод testtes

Gold
13.05.2018
19:20:50
А все, понял

Elliot
13.05.2018
19:22:31
Смотри: n - строка, которая будет длиной, как строка m. len(m) // len(n) - это целое количество раз, сколько n умещается в m. Но это число может быть и дробным(как test и qwerty, например). Поэтому мы берём остаток от деления, который всегда меньше длины n и просто берём столько символов из n. Вот и получается n * (len(m) // len(n)) + n[:len(m) % len(n)]

Google
Elliot
13.05.2018
19:23:39
Надеюсь, понятно объяснил

Igor
13.05.2018
19:24:58
Вроде всё понял)

Marshal
13.05.2018
19:26:29
Вроде всё понял)
Если новичок, то в данном случае почитай про срезы, умножение строк и div/mod в python'e. А логику выше написали

Gold
13.05.2018
19:26:53
b = "bigstring" a = "string" m = Len(b) - len(a) a = a + b[:m] print(a)

Думаю хороший вариант

Убери m*

Elliot
13.05.2018
19:28:49
Gold
13.05.2018
19:28:51
a = a + b[:m]

Elliot
13.05.2018
19:29:27
Выдаёт stringbig, а должен stringstr

Gold
13.05.2018
19:29:52


Marshal
13.05.2018
19:30:37
Ну тут прикол в входных. Из-за этого работает Введи test и qwerty

Marshal
13.05.2018
19:31:52
Gold
13.05.2018
19:32:07
Oi

Igor
13.05.2018
19:32:10
n = input() m = input() print(n * (len(m) // len(n)) + n[:len(m) % len(n)])
выиграл 0.5 секунды этим вариантом

Gold
13.05.2018
19:32:11


Marshal
13.05.2018
19:32:33
Правильный ответ testte. Ты не той строкой дополняешь

Gold
13.05.2018
19:32:53
Ой , точно)

Elliot
13.05.2018
19:32:59
Igor
13.05.2018
19:33:09
Не помешает

Google
Gold
13.05.2018
19:33:12
b = "bigstring" a = "string" m = Len(b) - len(a) a = a + a[:m] print(a)

Elliot
13.05.2018
19:34:13
Не помешает
Пиши на Cи тогда

Marshal
13.05.2018
19:34:19
Igor
13.05.2018
19:35:18
Сравни ка с этим ?
Откуда там m?

Gold
13.05.2018
19:35:36
Откуда там m?
Это разница между длиной строк

Igor
13.05.2018
19:35:59
Упс,затупил)

Gold
13.05.2018
19:36:50
Нет , не правильный мой код, если ввести a = test b = ssssssssssssss

То код не сработает правильно

Без цикла не обойтись,видимо

Igor
13.05.2018
19:38:35
Ага IndexError: string index out of range

Marshal
13.05.2018
19:38:54
Без цикла не обойтись,видимо
Мы показали же как без цикла ?

Gold
13.05.2018
19:39:17
Мы показали же как без цикла ?
Проверь test Qwertyyuiiip Сработает?

Gold
13.05.2018
19:40:02
Ничего себе )

Все я понял )

Пожалуй ,лучший вариант

Функцию спасибо убрали?

Elliot
13.05.2018
19:43:29
Хз, проверь

Gold
13.05.2018
19:43:47
Уже говорил спасибо сегодня, ничего не отобразилось

Google
Gold
13.05.2018
19:44:17
Спасибо

Igor
13.05.2018
19:47:50
Этот код чуточку быстрее,хоть и принцип такой же.Всем спасибо за ответы

Marshal
13.05.2018
19:48:16
Этот код чуточку быстрее,хоть и принцип такой же.Всем спасибо за ответы
А теперь попробуй вот этот: b = 'Qwertyyuiiip' a = 'test' d = len(b) // len(a) k = len(b) - len(a) * d out = d * a + a[:k:] print(out)

Igor
13.05.2018
19:49:30
?



Aculust
13.05.2018
19:53:14
b = 'Qwertyyuiiip' a = 'test' l = len(b) // len(a) + 1 out = (a * l)[:len(b)]

Igor
13.05.2018
19:54:54
Marshal
13.05.2018
19:57:26
Admin
ERROR: S client not available

Aculust
13.05.2018
19:57:37
да

Marshal
13.05.2018
19:57:49
А почему +1?

Aculust
13.05.2018
19:58:21
лишнее скорее всего

не, не лишнее.

Igor
13.05.2018
19:58:59
Aculust
13.05.2018
19:59:01
доп текст докидывается сверху и обрезается

Marshal
13.05.2018
19:59:25
Медленней на 0.15 с
Ты тест написал или один раз запускаешь? ?

Igor
13.05.2018
20:00:06
По нескольку)

Aculust
13.05.2018
20:00:34
b = 'Qwertyyuiiip' a = 'test' len_b = len(b) l = len_b // len(a) + 1 out = (a * l)[:len_b]

а так?

не значительно должно быть, но интересно)

Google
Aculust
13.05.2018
20:01:06
правда тут ещё под переменную память выделяется

Marshal
13.05.2018
20:01:09
Сейчас еще хуже станет ?

правда тут ещё под переменную память выделяется
Ну мы пока что за временем гонимся

Aculust
13.05.2018
20:04:52
a = 'test' b = 'Qwertyyuiiip' out = ((b.__len__() // a.__len__() + 1) * a)[:b.__len__()]

скобочки сильно влияют?

Igor
13.05.2018
20:07:24
b = 'Qwertyyuiiip' a = 'test' len_b = len(b) l = len_b // len(a) + 1 out = (a * l)[:len_b]
И у нас победитель!На 0.22 быстрее остальных реализаций

Aculust
13.05.2018
20:07:32
^^

Igor
13.05.2018
20:10:02
Хотя странно,что иногда 6 секунд ровно показывает,а иногда 5.88

Aculust
13.05.2018
20:10:15
это чё?

На пеньке что ли запускаешь?

Igor
13.05.2018
20:10:54
На ведре

Но это только часть программы

Aculust
13.05.2018
20:17:33
0.22 секунды!?

Igor
13.05.2018
20:18:52
В твоих двух вариантах почему-то сильный разброс по времени

Aculust
13.05.2018
20:19:10
не понимаю

Igor
13.05.2018
20:20:04
5.88 - 6.01, 5.91- 6.10

Вот так

Aculust
13.05.2018
20:20:18
это много?

вставку на асме только запилить осталось, лол

Igor
13.05.2018
20:21:06
)

Страница 184 из 228