
Zart
24.09.2016
21:01:31
тот кто спросил похоже сам не понимает что он делает
и выдаются ближайшие из большого списка
>>> import math
>>> distance = lambda p0:lambda p1:math.hypot(p1[0] - p0[0], p1[1] - p0[0])
>>> min([(0, 0), (1, 1), (2, 2)], key=distance((-1, -1)))
(0, 0)

Темный
24.09.2016
21:04:37
жоска

Zart
24.09.2016
21:05:13
я объявляю функцию, которая хавает точку и возвращает лямбду которая считает расстояние от неё до переданной
и тогда min находит среди списка точек ту, у которой расстояний минимально до указанной

Google

Zart
24.09.2016
21:06:05
если для точек создать класс, который будет считать их разницу покоординантно, то могло бы выглядеть как
distance = lambda p0:lambda p1:math.hypot(*(p1 - p0))

Dk
24.09.2016
21:07:31
Ладно. В общении с поддержкой главное не вешать нос.
Давай я объясню. Идл(или кликер) - это игра, цель которой - увеличение определённого значения (обычно до бесконечности). Популярнейший пример - Cookie clicker. Сначала увеличение значения идут медленно, но вскоре достигает десятков-сотен тысяч в секунду. Я хочу понять, как реализуется плавное изменение, а не прыжками, при высоких значениях в секунду.

Zart
24.09.2016
21:08:01
теперь я точно нихера не понял

Dk
24.09.2016
21:10:16
Блэ. Открой куки кликер., Если не сложно
Он браузерка
Без регистрации?

Темный
24.09.2016
21:10:28
читы же даже на нее были, там можно было менять его

Zart
24.09.2016
21:11:00
если ты даже не в состоянии задачу сформулировать, то я хз как ты её решать собрался

John
24.09.2016
21:11:50

Dk
24.09.2016
21:14:14
Вывод 30 кадров в секунду достаточно плавный.
А теперь представь часы, выводятся в 30 кадров в секунду. Вот. Идеальный пример.

Zart
24.09.2016
21:15:38
вы мне объясните, что именно он хочет... свою копию игры создать?

Google

Dk
24.09.2016
21:16:53
Я сформулировал задачу и уже понял как её решать. Спасибо Зарт.

Темный
24.09.2016
21:16:53

Zart
24.09.2016
21:17:56
и третий раз я нихуя не пони

John
24.09.2016
21:17:59
вопрос был в рассчетах или в отображении?

Zart
24.09.2016
21:18:20
услуги резиновой уточки - пять баксаф

Dk
24.09.2016
21:18:35
чта?)
Есть аналоговые часы, где секундная стрелка прыгает, а есть, где она плавная. Мне хотелось понять, как реализовать программно плавное движение.

Zart
24.09.2016
21:19:12
x // granularity * granularity

Dk
24.09.2016
21:19:31
Изменение значения отдельно. Вывод отдельно. Я так решил.

Zart
24.09.2016
21:20:00
>>> [i // 3 * 3 for i in range(20)]
[0, 0, 0, 3, 3, 3, 6, 6, 6, 9, 9, 9, 12, 12, 12, 15, 15, 15, 18, 18]
>
т.е. берем исходный таймер, который считает время с достаточной точностью
и загрубляем его до нужных пределов
в примере выше мы плавное изменение от 0 до 20 превращаем в скачки по 3 секунды
математика простая - делим на шаг, отбрасываем дробную часть - это и огрубляет/округляет
умножив обратно возвращаем к прежнему диапазону
а эту задачу решают интерполяцией/экстраполяцией значений
возьми к примеру яндекс.транспорт
там автобусы отмечаются на остановках или там по гпс раз в сколько-то минут, но на карте движение точек плавное
потому что зная предыдущие положения, можно оценить среднюю скорость, и зная маршрут можно экстраполировать эти данные для предсказания где он примерно сейчас
прикольно наблюдать когда эта эвристика не срабатывает


Dk
24.09.2016
21:26:42
Можно разделить значение в секунду на 100 и 100 раз задать код sleep 0.01; <смена значения>. Но как-то костыльно выглядит.
Поэтому и спросил.

Zart
24.09.2016
21:27:14
костыльность этого решения в том, что слип не будет спать строго 0.01 секунды

Dk
24.09.2016
21:27:27
Знаю

Zart
24.09.2016
21:27:29
у него точность плавает при разной нагрузке системы
поэтому будет набегать ошибка

Google

Zart
24.09.2016
21:27:46
эту проблему решают разными способами
спинлоки или по времени
если у тебя есть скажем time.time который может вернуть достаточно точное время, то можно рассчитывать время до следующего интервала и пытаться спать именно столько
в итоге код будет спать не 1 секунду, а скажем сперва 0.999, потом 1.002, потом 0.91, и т.д.
выравнивая перекосы
а спинлоков в питоне не сделать, наверное..
time.sleep(next_tick - time.clock()) # пытаться поспать строго оставшееся до следующего тика время
while time.clock() < next_tick: pass # хуярить всеми силами проца расчет времени пока не наступит время Х
второе и зовется спинлоком, потому что процессор крутится как белка в колесе, пока лок не отпустит

b0g3r
24.09.2016
21:33:29
А чё за мода на клепание своих куки-кликеров
Вижу раз в месяц подобные вопросы

Dk
24.09.2016
21:37:48
С этим слипом весь процесс спит. Это не удобно

Zart
24.09.2016
21:38:05
у тебя ж не гуй, разве не похер?

Dk
24.09.2016
21:38:25
Пока не гуй - да

Zart
24.09.2016
21:38:30
...
время охуительных условий
пора съебывать от такого заказчика

Dk
24.09.2016
21:43:52
Мне просто нечего делать. Беззадачный весь такой сижу.
И без интернета

Letalis
25.09.2016
05:47:50
n = int(input('Enter number '))
prematrix = []
prematrix.append([0] * n)
matrix = prematrix * n
martix[0][0] = 1
print(matrix)
здесь число n, которое вводишь вначале регулирует количество нулей в списке, а затем и количество таких списков, то есть если ввести 3, то будет так:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
и мне надо тчоб было так:
[[1, 0, 0], [0, 0, 0], [0, 0, 0]]
а получается так:
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
Что не так?

Older
25.09.2016
07:32:32
martix - коряво написал переменную

Google

Letalis
25.09.2016
07:36:45
А, да точно. Но не в этом дело.
Он в каждую добавляет 1-ку, а надо только в первую.

Amaro
25.09.2016
07:44:22

Petr
25.09.2016
07:59:00

Johnnie
25.09.2016
08:32:58
n = int(input('Enter number '))
prematrix = []
prematrix.append([0] * n)
matrix = prematrix * n
martix[0][0] = 1
print(matrix)
здесь число n, которое вводишь вначале регулирует количество нулей в списке, а затем и количество таких списков, то есть если ввести 3, то будет так:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
и мне надо тчоб было так:
[[1, 0, 0], [0, 0, 0], [0, 0, 0]]
а получается так:
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
Что не так?
http://stackoverflow.com/q/7255383

Letalis
25.09.2016
08:33:57

Темный
25.09.2016
12:24:16
что-то не переводит каретку \n в строке вида
'''для выполнения скрипта нужно:\n
...'''
это описание для —help если что

V
25.09.2016
12:34:44
а зачем \n в тройных кавычках? они же и так весь вайтспейс сохраняют

Темный
25.09.2016
12:36:06
пробовал и без, все равно в 1 строку

V
25.09.2016
12:36:51
попробовал у себя - в 2

Vitalii
25.09.2016
12:38:49
в три )
http://imgur.com/f0jDexnl.png

V
25.09.2016
12:39:33
>>> print('''для выполнения скрипта нужно:
... - моск!
... - руки
... - интерпретатор
... - скрипт
... '''
... )
для выполнения скрипта нужно:
- моск!
- руки
- интерпретатор
- скрипт
>>>

⬗VLAD⌶K⬖
25.09.2016
12:43:12
зачем моск еси есть руки??

V
25.09.2016
12:43:17
вот кстати по случаю выходных давайте похоливарим по поводу кавычек? пеп8 разрешает любые, но почему-то в примерах всяких и проч чаще всего встречаю двойные, а сам препочитаю одинарные тупо чтоб шифт не дрочить лишний раз. а какие кавычки используете вы и почему?

Stanislav
25.09.2016
12:43:35
за упоминание пеп8 надо бить в лицо

V
25.09.2016
12:43:37

John
25.09.2016
12:43:52

V
25.09.2016
12:44:02

Google

Stanislav
25.09.2016
12:44:08
я например позволяю себе ставить пробелы между = в аргументах функции
потому что это тупо уменьшает нагрузку и логично

V
25.09.2016
12:44:24
я смотрю вброс удался

⬗VLAD⌶K⬖
25.09.2016
12:44:28

Stanislav
25.09.2016
12:44:35
но нет, пепошкольники будут кукарекать до посинения

Темный
25.09.2016
12:44:47
бляд, на линупсе скрин не отпраляется, щас сфоткаю на телефон, лол

V
25.09.2016
12:45:23

Stanislav
25.09.2016
12:46:08
кавычки всёравно совершенно но есть забавная практика когда строки обрамляются двойными а "литералы" одинарными

Темный
25.09.2016
12:46:16

V
25.09.2016
12:46:39

Темный
25.09.2016
12:47:03
зоебали со своими обновлениями телеграмов

⬗VLAD⌶K⬖
25.09.2016
12:47:11

Темный
25.09.2016
12:47:29
clip2net предпочитаю

John
25.09.2016
12:47:42

V
25.09.2016
12:47:58
а еще мнения про кавычки будут?


Темный
25.09.2016
12:48:16
python3 bars.py --help
usage: bars.py [-h]
Скрипт подлючает файл .json и выводит: 1) Самый большой бар по кол-ву мест 2)
Самый маленький бар по кол-ву мест 3) Ближайший к вам бар при условии, что
будут введены корректные координаты !!!Для работы скрипта положите файл
'Бары.json' в папку со скриптом или введите путь в диалоговом окне
!!!Кординаты должны быть записаны через запятую в формате 37.621587946152012,
55.765366956608361
optional arguments:
-h, --help show this help message and exit
description='''Скрипт подлючает файл .json и выводит:
1) Самый большой бар по кол-ву мест
2) Самый маленький бар по кол-ву мест
3) Ближайший к вам бар при условии, что будут введены корректные координаты
!!!Для работы скрипта положите файл \'Бары.json\' в папку со скриптом или введите путь в диалоговом окне
!!!Кординаты должны быть записаны через запятую в формате 37.621587946152012, 55.765366956608361'''
)
args = helper.parse_args()
Эта группа больше не существует