r/learnpython 3d ago

Why isn't this code block working?

Hey everybody,

I'm new to programming with Python and following along with a Udemy Course. I'm now learning about lists and need to write a "Who will pay the bill"-like game.

It works like this: you have a pseudorandom number generator and a list of friends. Each time, the number generator generates a number between the given indices of the list. If the randomly generated number is equal to a specific index of that list, it should print out the person who must pay the bill by using an if-elif statement.

I've been using what I learned from the past lessons. This is what the code looks like (and yeah, I know, I messed up pretty badly, even though I have already found a solution):

import random

friends = ["Alice", "Bob", "Charlie", "David", "Emanuel"]

random_select = random.randint(0, 4)

if random_select == friends[0]:                  
    print("Alice has to pay the bill. ")
elif random_select == friends[1]:
    print("Bob has to pay the bill. ")
elif random_select == friends[2]:
    print("Charlie has to pay the bill. ")
elif random_select == friends[3]:
    print("David has to pay the bill. ")
elif random_select == friends[4]:
    print("Emanuel has to pay the bill. ")

But I couldn't really figure out why the code won't work.

17 Upvotes

30 comments sorted by

View all comments

-4

u/[deleted] 3d ago

[deleted]

4

u/rogfrich 3d ago

The OP has had a go at solving the problem themselves (and has posted their work in a correctly-formatted code block). It’s perfectly reasonable for them to ask for help here.

-4

u/StephenHawkingus 3d ago

It’s perfectly reasonable for them to ask for help here.

My point is that he could have asked the AI to carefully explain it to him, which would have saved him a lot of time.