lundi 28 décembre 2020

Python function return None. Can someone explain Why? [duplicate]

hello guys I wrote a function for this task:

Task

You've just moved into a perfectly straight street with exactly n identical houses on either side of the road. Naturally, you would like to find out the house number of the people on the other side of the street.

The street looks something like this:

Street
1|   |6
3|   |4
5|   |2
  • Evens increase on the right;
  • Odds decrease on the left. H
  • House numbers start at 1 and increase without gaps.
  • When n = 3, 1 is opposite 6, 3 opposite 4, and 5 opposite 2.

Example

Given your house number address and length of street n, give the house number on the opposite side of the street.

over_the_road(1, 3) = 6

My solution:

def over_the_road(address, n):
    even = list(range(n + 1))
    for number in even:
        if number % 2 == 0:
            even.remove(number)
    odds = list(range(n + 1))
    odds.pop(0)
    for number in odds:
        if not number % 2 == 0:
            odds.remove(number)
    odds.reverse()
    if address == even:
        return odds[even.index(address)]
    elif address == odds:
        return even[odds.index(address)]

Can someone please explain why is my function returning none?

Aucun commentaire:

Enregistrer un commentaire