我有一个接受用户选择的课程(下面)
,
第一部分似乎运行没有问题,因为类中的导入函数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()
这已经尝试过,经过测试可以正常工作,就在我导入它时,它不返回任何内容并结束程序。
答案 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: "))