◐ Shell
reader mode source ↗
Skip to content
This repository was archived by the owner on Dec 2, 2021. It is now read-only.
Open
Changes from all commits
File filter
Conversations
Jump to
Diff view
Apply and reload
Show whitespace
Diff view
Apply and reload
15 changes: 14 additions & 1 deletion 10-seq-hacking/vector_v5.py
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,13 @@ def angle(self, n): # <2>
def angles(self): # <3>
return (self.angle(n) for n in range(1, len(self)))

def __format__(self, fmt_spec=''):
if fmt_spec.endswith('h'): # hyperspherical coordinates
fmt_spec = fmt_spec[:-1]
coords = itertools.chain([abs(self)],
Expand All @@ -277,7 +283,14 @@ def __format__(self, fmt_spec=''):
else:
coords = self
outer_fmt = '({})' # <6>
components = (format(c, fmt_spec) for c in coords) # <7>
return outer_fmt.format(', '.join(components)) # <8>

@classmethod
Expand Down
Toggle all file notes Toggle all file annotations