Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- list[:] működése (ha esetleg nem ismernéd)
- >>> list = [0,1,2,3]
- >>> list[:2]
- [0,1]
- >>> list[2:]
- [2,3]
- >>> list[1:3]
- [1,2]
- ha többet akarsz róla tudni, akkor keress rá, hogy list slicing
- """
- stairs = [30,60,10,40,60]
- max_step = 100
- def main(stairs, max_step):
- p = possibilities(stairs, max_step) #elindítja a rekurziót
- print(p)
- def possibilities(stairs, max_step):
- if (len(stairs) == 1 and stairs[0] <= max_step) or len(stairs)==0:
- #ha pontosan egy (megléphető) lépcső van, vagy nincs több
- return 1
- p = 0 #lehetőségek száma
- for i in range(1,len(stairs)+1): #hány lépcsőt lépek meg egyszerre
- # len(stairs)+1, mivel len(stairs) mondjuk 4 lépcsőnél csak 3-ig számol el
- if sum(stairs[:i]) > max_step:
- #ha eddig a lépcsők magassága több a megléphetőnél, akkor ne számoljon tovább
- break
- else:
- #vegye ezt a lépcsőt kezdőnek, és számolja innentől ugyanúgy
- p += possibilities(stairs[i:], max_step)
- return p
- main(stairs, max_step)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement