我需要一些关于代码的帮助,我计算self.channel_count
的值,以便在每次传递每个语句以计算值时输出它们。
以下是我在每次传递语句时计算的值的输出:
15:36:47 T:5080 NOTICE: program has finished
15:36:47 T:5080 NOTICE: 0
15:36:47 T:5080 NOTICE: program is half way
15:36:47 T:5080 NOTICE: 1
15:53:41 T:1468 NOTICE: 3029
15:53:41 T:1468 NOTICE: 3157
15:53:41 T:1468 NOTICE: 3285
15:53:41 T:1468 NOTICE: 3413
15:53:41 T:1468 NOTICE: 3541
15:53:41 T:1468 NOTICE: 3669
15:53:41 T:1468 NOTICE: 3797
15:36:47 T:5080 NOTICE: program has finished
15:36:47 T:5080 NOTICE: 2
15:36:47 T:5080 NOTICE: program is half way
15:36:47 T:5080 NOTICE: 3
15:36:47 T:5080 NOTICE: program is half way
15:36:47 T:5080 NOTICE: 4
15:36:47 T:5080 NOTICE: program has finished
15:36:47 T:5080 NOTICE: 5
15:36:47 T:5080 NOTICE: program has finished
15:36:47 T:5080 NOTICE: 6
以下是完整代码:
self.program_remaining = False
self.channel_count = 0
for channel in channels:
#get the stop_date data from the programs list
cur = con.cursor()
cur.execute('SELECT start_date, stop_date FROM programs where channel=?', [channel])
stop_date = cur.fetchone()
if stop_date is not None:
start_date = str(stop_date[0])
stop_date = str(stop_date[1])
get_current_time = datetime.datetime.now().strftime('%H:%M')
get_start_time = time.strptime(start_date, '%Y%m%d%H%M%S')
start_time = time.strftime('%H:%M', get_start_time)
get_stop_time = time.strptime(stop_date, '%Y%m%d%H%M%S')
stop_time = time.strftime('%H:%M', get_stop_time)
current_time = str(get_current_time)
if current_time == start_time:
print "the program has started"
elif start_time < current_time < stop_time:
print "program is half way"
currenttime = self.parseDateTimeToMinutesSinceEpoch(start_date)
program_stop = self.parseDateTimeToMinutesSinceEpoch(stop_date)
program_stop - currenttime
datetime.timedelta(0, 8100)
current_program_length = program_stop - currenttime
print self.channel_count
if current_program_length >= 30:
if self.program_remaining == True:
self.program_remaining = False
program_button = [elem.control for elem in self.program_buttons]
progId = list()
posX = list()
posY = list()
for elem in program_button:
progId.append(elem.getId())
posX.append(elem.getX())
posY.append(elem.getY())
progId = map(str, progId)
posX = map(str, posX)
posY = map(str, posY)
for posX, posY, progId in zip (posX, posY, progId):
if int(posX) == 375:
print progId
elif start_time <> current_time <> stop_time:
print "program has finished"
print self.channel_count
self.channel_count += 1
我试图了解如何在self.channel_count
下获取值elif start_time < current_time < stop_time:
以输出if current_program_length >= 30:
下的值,以便我可以得到这样的结果。
15:36:47 T:5080 NOTICE: 1
15:36:47 T:5080 NOTICE: 3
15:36:47 T:5080 NOTICE: 4
我试着用这个:
elif start_time < current_time < stop_time:
...etc
print self.channel_count
if current_program_length >= 30:
for elem in program_button:
progId.append(elem.getId())
posX.append(elem.getX())
posY.append(elem.getY())
progId = map(str, progId)
posX = map(str, posX)
posY = map(str, posY)
for posX, posY, progId in zip (posX, posY, progId):
if int(posX) == 375:
print progId
我会得到这样的结果:
15:53:41 T:1468 NOTICE: program has finished
15:53:41 T:1468 NOTICE: program is half way
15:53:41 T:1468 NOTICE: 1
15:53:41 T:1468 NOTICE: 3029
15:53:41 T:1468 NOTICE: 3157
15:53:41 T:1468 NOTICE: 3285
15:53:41 T:1468 NOTICE: 3413
15:53:41 T:1468 NOTICE: 3541
15:53:41 T:1468 NOTICE: 3669
15:53:41 T:1468 NOTICE: 3797
15:53:41 T:1468 NOTICE: program has finished
15:53:41 T:1468 NOTICE: program is half way
15:53:41 T:1468 NOTICE: 3
15:53:41 T:1468 NOTICE: 3029
15:53:41 T:1468 NOTICE: 3157
15:53:41 T:1468 NOTICE: 3285
15:53:41 T:1468 NOTICE: 3413
15:53:41 T:1468 NOTICE: 3541
15:53:41 T:1468 NOTICE: 3669
15:53:41 T:1468 NOTICE: 3797
15:53:41 T:1468 NOTICE: program is half way
15:53:41 T:1468 NOTICE: 4
15:53:41 T:1468 NOTICE: 3029
15:53:41 T:1468 NOTICE: 3157
15:53:41 T:1468 NOTICE: 3285
15:53:41 T:1468 NOTICE: 3413
15:53:41 T:1468 NOTICE: 3541
15:53:41 T:1468 NOTICE: 3669
15:53:41 T:1468 NOTICE: 3797
15:53:41 T:1468 NOTICE: program has finished
15:53:41 T:1468 NOTICE: program has finished
我在传递语句时每次使用变量self.program_remaining
来阻止循环。我想获取值,然后我可以使用它们使用数组prog_id
以下是prog_id
的元素列表:
>>> value 0 15:53:41 T:1468 NOTICE: 3029
>>> value 1 15:53:41 T:1468 NOTICE: 3157
>>> value 2 15:53:41 T:1468 NOTICE: 3285
>>> value 3 15:53:41 T:1468 NOTICE: 3413
>>> value 4 15:53:41 T:1468 NOTICE: 3541
>>> value 5 15:53:41 T:1468 NOTICE: 3669
>>> value 6 15:53:41 T:1468 NOTICE: 3797
以下是我试图实现的目标:
15:53:41 T:1468 NOTICE: 3157
15:53:41 T:1468 NOTICE: 3413
15:53:41 T:1468 NOTICE: 3541
因此,我在每次传递语句时计算值,而我只获得1
的值3
,4
和elif start_time < current_time < stop_time:
所以我想在if current_program_length >= 30:
下使用这些值,但是当我阻止变量阻止它们每次传递时我都不知道如何做到这一点。
您能否告诉我如何在elif start_time < current_time < stop_time:
下计算值以输出if current_program_length >= 30:
下的值,以便我可以使用值搜索数组中的元素?