Forum » Programiranje » [python]problem sledenje robu daljice
[python]problem sledenje robu daljice
Isotropic ::
def findInstances(li): if len(li) == 2: return li else: nodes = [y for x in li for y in x] nodes0 = [x[0] for x in li] single = [] for n in nodes: if nodes.count(n) == 1: single.append(n) if len(single) == 2: if single[0] in nodes0: first = single[0] else: first = single[1] while True: el = [i for i in li if i[0] == first] new.append(el) if el[1] not in single: first = el[1] else: break #elif len(single) > 2: if len(new) == len(li): return new #else:
koda naredi tole:
li je skupek tock, ki naj bi tvorile daljico. jaz v funkciji gledam, ce le-te slucajno tvorijo vec kot eno daljico ter jih uredim (da dejansko tvorijo daljico od zacetka do konca, ne pa da skacejo okoli). isto jih uredim, ce slucajno tvorijo krog (v tem primeru je single enak nic, ni pa nujno).
zanima me, kako naj predelam skripto, ce je len(single) - tocke, ki se pojavijo samo enkrat-konec daljice - enak 4, 6, 8... predstavljam si nekako s for zanko, ne vem pa, kako naj izvedem. problem je pa se, ker sta lahko 2 ali vec krogov (single = 0 v tem primeru)
obstaja se kaksen lazji nacin za ureditev?
se tkole:
ce je sedaj li: ( (5,2), (3,5), (4,3) ), bi rad, da je ( (4,3), (3,5), (5,2) )
s tem, da bi rad preveril se, ce je vec daljic slucajno (segmentov)
v bistvu sploh ne vem, ce je to (ali for zanka) pravilni pristop, ker se lahko zgodi, da bo len(single) = 2, zraven bo pa se en krog. lahko bi recimo izbral eno random tocko in ji sledil do konca, samo potem ne vem, kako naj ji sledim se do drugega konca (ker ni nujno, da bom zacel na robu daljice)
jype, bigwhale, bluerunner help
- spremenil: Isotropic ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Python - pomoč (strani: 1 2 3 )Oddelek: Programiranje | 18032 (8780) | black ice |
» | Programiranje v pythonuOddelek: Programiranje | 2027 (1385) | Sony-Tech |
» | Naloga iz Putka - UPMOddelek: Programiranje | 2216 (1552) | NejcSSD |
» | Python iskanje podvojenih vrednostiOddelek: Programiranje | 1488 (1201) | BlueRunner |
» | python problemOddelek: Programiranje | 1459 (1199) | Isotropic |