How would I store and pass the contents of r from main into two? It will print r if I make it r = something fixed, but how do I pass and hold variable contents into r. I tried random.getstate/setstate but it was saying "function object not subscriptable".
import random
from random import randrange
def main():
r = random.randrange(1,13,1)
print (r)
r = random.randrange(1,13,1)
def two():
if r==7 or r==11:
print (r)
else:
print (r)
main()
two()
解决方案
Well, depending on the situation, you either want to make a class or return the data, then pass it in as an argument, the latter is probably what you want given your code, so, for example:
def main():
...
r = do_something()
...
return r
def two(r):
...
do_something_else(r)
...
r = main()
two(r)
If this was happening within something you could define as an entity, you could do it in a class:
class Main():
def main(self):
...
self.r = do_something()
...
def two(self):
...
do_something_else(self.r)
...
main = Main()
main.main()
main.two()
However, in this case, this is unnecessary as you are creating a class that doesn't really encapsulate anything.