我已经做了好几个小时想知道该怎么办。我似乎不知道如何处理用户输入,以便激活实例变量并返回一个站。你知道吗
class Radio:
def __init__(self):
self.stations = ["STATIC", "97.2", "99.6", "101.7", "105.3", "108.5"]
self.station_index = 0
def seekNext(self):
self.station_index = (self.station_index + 1) % len(self.stations)
return self.station_index
def longPressPreset1(self):
self.progamStation1 = self.stations[self.station_index]
def longPressPreset2(self):
self.programStation2 = self.stations[self.station_index]
def longPressPreset3(self):
self.programStation3 = self.stations[self.station_index]
def shortPressPreset1(self):
self.programStaion1
def shortPressPreset2(self):
self.programStation2
def shortPressPreset3(self):
self.programStation3
def displayLCD(self):
print("Currently Tuned:",self.station_index)
print("present1:", self.programStation1)
print("present2:", self.programStation2)
print("present3:", self.programStation3)
def __str__(self):
return "Currently Tuned:", str(self.station_index)
def main():
myradio = Radio()
print(myradio)
displayMenuGetOption()
def displayMenuGetOption():
print("1 = Display tuned in staion")
print("2 = Program present station 1")
print("3 = Program present station 2")
print("4 = Program present station 3")
print("5 = Seek next station")
print("6 = Tune preset station 1")
print("7 = Tune preset station 2")
print("8 = Tune preset station 3")
print("9 = Dump Programming")
print("10 = Turn off radio")
option = input("\nEnter option:")
main()
我在考虑使用if逻辑,但我认为它会使代码更复杂。我注意到当我试图返回当前已调谐的电台时,我得到了0而不是静态。当前应调整输出:静态。我只是想知道如何让用户输入匹配并激活类中的实例变量。你知道吗
print("Currently Tuned:", self.station_index)
打印当前电台的索引,而不是名称。你可能想要print("Currently Tuned:", self.stations[self.station_index])
return "Currently Tuned:", str(self.station_index)
不返回字符串。你可能想要return "Currently Tuned: {}".format(self.stations[self.station_index]))
shortPressPreset1
中的self.programStaion1
行没有任何作用。你可能想要return self.programStation1
或return self.stations[self.programStation1]
(顺便说一句:打字错误)。其他两个shortPressPreset
方法也一样。你知道吗__init__
中不初始化programStation1
等。如果在longPressPreset1
之前调用shortPressPreset1
或displayLCD
,则对象没有成员programStation1
,并引发异常。你知道吗如果不想用
if
语句处理用户输入,可以用字典处理:用途:
相关问题 更多 >
编程相关推荐