Home > Net >  Don't know how to call classes in python using if function
Don't know how to call classes in python using if function

Time:02-04

So I am making a program in which it reads a .txt file and runs different classes; I made it so it opens the file and stores the text in a decision string, Using if decision == "wincode" or "lostcode" I want it to run a specific class like:

class wonToss():
    
    wininput = input("Do you want to choose: ")

    def outChoice():
        print("no error")

    
    def inChoice():
        print("No error")
        


    if wininput == "Indoor":
        inChoice()
    elif wininput == "Outdoor":
        outChoice() 

I put the "No error" for testing to see if it works

class lostToss():

    def botChoose():
        print("Bot is choosing between Indoor and Outdoor.")
        print(".")
        time.sleep(0.25)
        print("..")
        time.sleep(0.25)
        print("...")
        time.sleep(0.25)
        print("")
        choices = ['Indoor', 'Outdoor']
        botting = random.choice(choices)
        print(f"And the bot chose: {botting}")
        time.sleep(2)

    botChoose()

And this is the second class. So now, I want it to check the code and class the specific class.

This is the check code:

f=open("TossDecision.ch", "r")

if f.mode == 'r':
    decision = f.read()

if decision == "jhe78r2dbgv67t2yhdb7vgr":
    print("")
    wonToss()

elif decision == "jhe78rnxshwdn7wgh89u3cn":
    print("")
    lostToss()

else:
    print("Toss Decision changed! Re-run the PlayGame file.")
    exit()

But the problem is, When I run the program it just shows:

Do you want to choose (Indoor) or (Outdoor)?: Indoor
Bot is choosing between Indoor and Outdoor.
.
..
...

And the bot chose: Indoor

It calls both the classes. Currently its set to loss. It still calls wonToss() Can anyone help fix this

CodePudding user response:

Sorry, but you are using classes totally wrong.

Please read on Object-oriented programming.

  1. A class is a blueprint for an object.

  2. In most times, you instantiate an object of the class, and work with it. Like this:

class Mything:
    def InChoice(self):
        print("No errror indoors")
    def OutChoice(self):
        print("No error outdoors")
    def ask_choice(self):
        wininput = input("Do you want to choose: ")
        if wininput == "Indoor":
           self.InChoice()
        elif wininput == "Outdoor":
           self.OutChoice()

Then in your program you do:

  choice_object=Mything()
  choice_object.ask_choice()
  •  Tags:  
  • Related