gpt4 book ai didi

python - 打印字符串并在类中执行函数 [Python]

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:09 25 4
gpt4 key购买 nike

对于我的学校作业,我们必须编写一个程序来模拟交通灯。我已经让程序运行了,唯一的问题是代码有点乱,因为我不知道如何正确使用类。文档让我感到困惑(有点菜鸟)。

所以我只是多次复制我想更改变量的函数并手动更改变量。我知道可以用类来做到这一点,只需使用正确的变量创建此类的实例,但我似乎可以让它工作。这是我想要实现的“伪代码”中的一个小例子。

此代码是一个计时器,用于计算交通灯亮起的时间。我想创建一个可以接受一侧(leftrightfrontback)并打印的类这个字符串,所以我不必复制代码并手动输入一侧。但我可以只举一个侧面的例子。

import time

class trafficlight_timer:
def __init__(self, side1):
self.side = side1

def trafficlight(self, side1):
s = 0
b = 5
t_max = 10
print self.side, "is green"
if b > t_max:
b = t_max
while s <= 60:
time.sleep(1)
s += 1
if s == b:
print self.side, "is red"
print self.side, "was green for %d seconds." % s
print ""
s = 65
trafficlight()

instance_left = trafficlight_timer('left')

如果有人能向我指出应该如何做到这一点,我将不胜感激。非常感谢!

最佳答案

你有什么问题?我没有尝试运行它,但对我来说它看起来很好,除了你通常不会从类主体内部调用 trafficlight() (甚至可能不是合法的语法,我'我不确定)。

import time

class trafficlight_timer:
def __init__(self, side1):
self.side = side1

def trafficlight(self):
s = 0
b = 5
t_max = 10
print self.side, "is green"
if b > t_max:
b = t_max
while s <= 60:
time.sleep(1)
s += 1
if s == b:
print self.side, "is red"
print self.side, "was green for %d seconds." % s
print ""
s = 65

instance_left = trafficlight_timer('left')
instance_left.trafficlight()

我所做的唯一更改是从类主体中删除 trafficlight(),从 trafficlight 中删除冗余和未使用的 side1 参数函数,并在 instance_left 实例上调用 trafficlight()。输出如下所示:

left is green
left is red
left was green for 5 seconds.

如果这不是您想要的,请更详细地描述您对输出的期望以及您得到的不期望的输出。

关于python - 打印字符串并在类中执行函数 [Python],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21266995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com