Python类方法不返回导入的类方法?

时间:2018-03-03 15:17:50

标签: python function class-method

我有一个接受用户选择的课程(下面)

,

第一部分似乎运行没有问题,因为类中的导入函数from MiniProject1.interfaces.s_selection import SecondarySelection as SS # imports the secondary_selection function from selections import MiniProject1.interfaces.newcastle_cm as IT from MiniProject1.Newcastle.newcastle_cc import ColumnCalculation as CC class Newcastle: def __init__(self): self.key_typed = input(str("Select what you want to do: ")) @staticmethod def column_or_graph(): if SS.get_input(SS.display_input()) is True: IT.column_manipulation() return True IT.graph_plotting() return False def column_selection(self): if self.key_typed == 1: CC.total_electricity() # Calls the total_electricity method elif self.key_typed == 2: pass elif self.key_typed == 3: pass elif self.key_typed == 4: pass elif self.key_typed == 5: pass def main(): if Newcastle.column_or_graph() is True: Newcastle.column_selection(Newcastle()) elif Newcastle.column_or_graph() is False: Newcastle.graph_plotting(Newcastle()) if __name__ == "__main__": main() 没有任何问题并且返回True或False,并且它们SS.get_input(SS.display_input())也可以正常工作,因为它显示界面并获取用户输入。 所以,一切似乎都有效。但是当用户选择1时,它应该返回Newcastle.column_selection(Newcastle())方法,但它只是结束程序。 我也尝试了CC.total_electricity(),但这也是做同样的事情,并且不起作用。有没有想过为什么会这样?我整天都在努力。

CC.total_electricity类方法如下所示:

return CC.total_electricity()

这已经尝试过,经过测试可以正常工作,就在我导入它时,它不返回任何内容并结束程序。

1 个答案:

答案 0 :(得分:0)

您将用户输入与整数进行比较:

if self.key_typed == 1:

因此,您还需要将输入转换为整数。

所以相反:

self.key_typed = input(str("Select what you want to do: "))

做:

self.key_typed = int(input("Select what you want to do: "))