0

我正在研究简单的自动售货机。

我有一个关于类和子类方法的快速问题。

我想在这里问什么,我有子类“存款”,并且在一个while循环中,

  1. 如果类中的选择方法是 int,我想返回“Y”,如果类中的选择方法是 str,我想返回“V”。

这是因为我想继续添加插入自动售货机的硬币价值,直到代码运行。

但是,当我运行代码时,无论我在输入中输入什么,它总是给我“V”。

如果你们能帮我设计存款系统,那对我来说会更好,但如果你们能帮我弄清楚我提出的问题,这将有助于我理解这门课!

非常感谢您阅读糟糕的描述,任何不明白我所要求的内容的人,请发表评论!再次感谢你。

    def __init__(self, selection, soda):
        self.__selection = selection
        self.__soda = soda
        self.balance = 0
    def selection(self):
        return self.__selection

    def soda(self):
        return self.__soda

    def outofstock(self):
        if stock[self.__soda] == 0:
            return 'X'
        else:
            return " "

class Deposit(Vending):
    Total = 0
    def __init__ (self, selection, soda):
        Vending.__init__(self, selection, soda)

        self.balance = 0

    def Deposit_coin(self):
        if self.selection() == int:
            return 'Y'
        else:
            return 'V'


Accept_coint = [5, 10, 25]
drink = ['Coke', 'Jolt', 'Pepsi', 'Diet']
stock = {'Coke':2, 'Jolt':2, 'Pepsi':2, 'Diet':2}

while True:
    print ('---------------------------------')
    if 0 not in stock.values():
        print (' {} ( ) {} ( )'.format(drink[0], drink[1]))
        print (' {} ( ) {} ( )'.format(drink[2], drink[3]))
    else:
        print (' {} ({}) {} ({})'.format(drink[0], Vending(__, drink[0]).outofstock(), drink[1], Vending(__, drink[1]).outofstock()))
        print (' {} ({}) {} ({})'.format(drink[2], Vending(__, drink[2]).outofstock(),drink[3],Vending(__, drink[3]).outofstock()))

    a = Deposit(input(), __)
    print(a.Deposit_coin())```
4

0 回答 0