Абсолютно (для примера Вы обеспечили).
существует встроенная функция divmod()
, который делает точно это.
q, r = divmod(x, y) # ((x - x%y)/y, x%y) Invariant: div*y + mod == x
существуют другие примеры: zip
, enumerate
, dict.items
.
for i, e in enumerate([1, 3, 3]):
print "index=%d, element=%s" % (i, e)
# reverse keys and values in a dictionary
d = dict((v, k) for k, v in adict.items()) # or
d = dict(zip(adict.values(), adict.keys()))
BTW, круглые скобки не необходимы большую часть времени. Цитата от [1 110] Справочное руководство по библиотеке Python:
Кортежи могут быть созданы различными способами:
- Используя пару круглых скобок для обозначения пустого кортежа: ()
- Используя запаздывающую запятую для одноэлементного кортежа: a или (a),
- Разделение объектов с запятыми: a, b, c или (a, b, c)
- Используя кортеж () встроенный: кортеж () или кортеж (повторяемый)
Поэтому, они должны возвратить отдельный объект. В Вашем случае этот объект является кортежем. Рассмотрите кортеж как специальную составную структуру данных. Существуют языки, куда почти каждая функция возвращает несколько значений (список в Lisp).
Иногда достаточно возвратиться (x, y)
вместо Point(x, y)
.
С введением именованных кортежей в Python 2.6 желательно во многих случаях возвращаться названный кортежами вместо простых кортежей.
>>> import collections
>>> Point = collections.namedtuple('Point', 'x y')
>>> x, y = Point(0, 1)
>>> p = Point(x, y)
>>> x, y, p
(0, 1, Point(x=0, y=1))
>>> p.x, p.y, p[0], p[1]
(0, 1, 0, 1)
>>> for i in p:
... print(i)
...
0
1
Поместите элемент, который является прозрачным и относительно позиционируется внутри div. Расположите его вверху кнопки и сделайте того же размера, что и кнопка. Сделайте элемент доступным для щелчка.
Вкратце - нет.
Фон - это фон. Они не довольны. Они не интерактивны.
Обойти это можно, но не стоит. Если у вас есть контент, с которым пользователь может взаимодействовать, представьте его как контент. Используйте
.
Попробуйте следующий код:
#container { width:200px; height:100px; position:relative }
#clicker { display:block; width:20px; height:10px; position:absolute; top:20px; left:100px; }
<div id="container">
<a id="clicker" href="#link"></a>
</div>
Очевидно, измените все размеры в соответствии с областью, в которой вы хотите сделать кликабельным.
Вы можете сделать div "position: relative", а затем разместить тег на чертеже, используя
display: block;
width: your_width;
height: your_height;
position: absolute;
left: your_position_x;
top: your_position_y;
. Это будет самый чистый способ.