【发布时间】:2023-01-19 01:36:23
【问题描述】:
我不断得到
<__main__.Camera object at 0x02C08790>
我不知道为什么。
我希望代码从 Calc_Speed 转到 Counter,然后基本上在一个循环中返回到 Calc_Speed。
class Camera():
distance = 2
speed_limit = 20
number_of_cars = 0
def Calc_Speed(self):
registration = input("Registration Plate: ")
Speeding_List=[]
start = float(input("Start time: "))
end = float(input("End Time: "))
speed = self.distance/(end-start)
print(("Average Speed: ") + str(round(speed, 2)) + (" mph"))
if speed > self.speed_limit:
list3= [str(self.registration)]
Speeding_List.append(list3)
print("Vehicles Caught Speeding: " + str(Speeding_List))
return(program.Counter())
else:
print("Vehicle Not Speeding")
return(program.Counter())
def Counter():
self.number_of_cars = self.number_of_cars + 1
print("Number Of Cars Recorded: " + str(self.number_of_cars))
return(program.Calc_Speed())
program = Camera()
print(program)
【问题讨论】:
-
你打印一个
Speed_Camera对象。你能指望什么? -
您的代码有缩进错误,并且没有定义任何名为
Speed_Camera的内容。另外,你从来没有说过你想让程序做什么,所以没有人能告诉你如何让它做你想做的事。 -
@布伦巴恩。我将类的名称从 Speed_Camera 更改为 Camera,但没有更改其余代码。哎呀!对不起 :)
-
打印该字符串的原因是因为您正在创建一个类的实例并打印它,但是该类本身没有定义当您在其上使用
print时应返回的内容。您的类中的函数也没有被调用。 -
@JamesKent 所以如果我放一些类似“print (program.Calc_Speed()) i”的东西它会起作用吗?
标签: python python-3.x