Question

Here is my aim in an example. If you could help me complete it that would be great!

exampleNumbers = [One,Uno,Two,Dos]
randomNumber = random.choice(exampleNumbers)

From here on I want it to then change randomNumber to 1 if the random selection of exampleNumbersis One or Uno or change randomNumber to 2 if the random selection of exampleNumbers is Two or Dos.

I think I can do it using an if statement, however I am unsure on how to use an if statement with multiple values.

So basically if the random selection is Two for example, I want it to then make randomNumber = 2.

Sorry if I haven't explained this very well, I'm slowly getting there but my knowledge and terminology is still at an amateur state. I'll happily tick and vote up any great answers!

Thanks in advance! :)

Was it helpful?

Solution

You can use the operator in:

if randomNumber in (One,Uno):
    randomNumber = 1
else:
    randomNumber = 2

Or the classic or boolean operator:

if randomNumber == One or randomNumber == Uno:
    randomNumber = 1
else:
    randomNumber = 2

The in is great to check for a lot of values.

The or, with the other boolean operators and and not can be used to build arbitrarily complex logical expressions.

OTHER TIPS

you can use and and or to compound statements. and for multiple statements you can also use parenthesis (ie: (True and False) or (False or True)). There does exist an order of operations which is basically left to right. So for you question you can do

if(num == "two" or num == "dos"):
    //do things
elif (num == "one" or num == "uno"):
    //do other things

You could also define options:

options = { One : thisIsOne,
              Uno : thisIsOne,
              Two : thisIsTwo,
              Dos : thisIsTwo,
}

def thisIsOne()
  randomNumber = 1

def thisIsTwo()
  randomNumber = 2

You can then simply call options[randomNumber]()

I'm a little rusty with my python but I'm pretty sure that works (but so does the previous answer by rodrigo! matter of preference and reusability)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top