简体   繁体   中英

Return variable from a function

This section of a program I am writing is supposed to take the random choice and then print it outside the function (I can't print from within as I need the variable later). I am sure there is a simple solution to this, but I am unsure what it is.

#python2
def CompTurn():
  RandTurn = [Column1,Column2,Column3,Column4]
  Choice = random.choice(RandTurn)
  return(Choice)
print Choice

Thank you.

Add the line

Choice = CompTurn()

before your print statement. Because the variables you declare within the function are not known outside of it, you have to store (or print directly, but then you cannot store it) the returned variable in a new variable.

You have defined your function correctly, but you never executed it! (You'll see that if you make it print something as a diagnostic.) You must run it to get the result:

chosen = CompTurn()
print chosen

Note that I used a different variable name. You could use the same variable name as a variable in your function, but it's still a different variable than the one in your function.

It is also important to realize that your function returns a value, not a variable. You can assign the value to a variable (as above) or print it immediately.

print CompTurn()

About your program, you don't need the brackets for return . It's s statement, not a function.

def CompTurn():
  RandTurn = [Column1,Column2,Column3,Column4]
  Choice = random.choice(RandTurn)
  return Choice 

Shorter:

def CompTurn():
      RandTurn = [Column1,Column2,Column3,Column4]
      return random.choice(RandTurn)

To print the return value, You can save it in a variable and print it

ret = CompTurn()
print ret

Or print directly:

print CompTurn()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM