1樓:大灰灰老師
class
Arrangement
(object
):def
__init__
(self
,players
):if
len(
players)%
2:self
._players
=players+[
'NOBODY'
]else
:self
._players
=players
.copy
()self._n
=len
(self
._players
)self
._original_order
=self
._players
.copy
()self
._exhausted
=False
def__str__
(self
):return'\n
'.join
('{}: {}'
.format(a
,b)fora,
binzip(
self
._players[0
:self._n
//2],self
._players
[:self._n
//2-1
:-1]))
def__iter__
(self
):return
self
def__next__
(self
):if
self
._exhausted
:raise
StopIteration
self
._players=[
self
._players[0
],self
._players[-
1]]+self
._players[1
:-1]
ifall(a
==bfora,b
inzip
(self
._players
,self
._original_order
)):self
._exhausted
=True
return
self
defreset
(self
):self
._exhausted
=False
self
._players
=self
._original_order
.copy
()if
__name__
=='__main__':p
=['Spider-Man'
,'Iron Man'
,'Captain America'
,'Thor'
,'Scarlet Witch'
,'Black Widow'
,'Hulk'
,'Vision'
,'Wolverine'
,'Hawkeye'
]arr
=Arrangement(p
)fork,
ainenumerate
(arr
('-= Round
{}=-
\n{}\n'
.format(k
+1,a))
Python如何使乙個列表裡的元素兩兩相加,例如a 1,2,3,4 ,使裡面數字兩兩相加?
參考python cookbook 4.9章 排列組合的迭代 from itertools import combinationsa 1,2,3,4 result list for c in combinations a,2 也許 a 1,2,3,4 result foriina forjin a ...
化學方程式中的粒子如果只有乙個,那麼兩兩反應會生成半個粒子嗎?
程子醬 不會生成半個粒子。反應方程式實際是許多微觀變化的和,所以方程式並不能體現體系中實際發生了什麼。而當我們關注微觀單分子的時候,這些過程就很重要了,我們稱這些微觀過程為反應機理。你這個思考實際是機理研究裡很重要的乙個問題,就是說乙個分子通過了怎麼樣的過渡態,怎麼樣的中間體,最終達到了產物。所以物...
大學女生三三兩兩或者乙個女生打籃球,除了發自內心的熱愛,一般基於什麼心理?
橘貓烏龜 打了三年球。剛開始大一大二真的毫不畏懼旁人目光,乙個人拿著球就往球館衝,籃球刷網的聲音是真的很動聽。除了出於內心的熱愛,還有 場地。學校裡那麼好的籃球室內館,有膠質地板還有燈光有籃網,幹嘛放著不用?回家就是水泥地,還沒籃網。責任。因為我們學院院隊會打籃球的女生就沒幾個,全靠那乙個主力得分。...