Ich arbeite an meinem Code, während ich die Liste der IDs erzeuge, die von 361
bis 375
beginnen, damit ich die Strings in die Schaltflächenobjekte eingeben kann. Ich möchte die zwei gleichen Zeichenketten in die 2 verschiedenen Knopfgegenstände unter Verwendung mit zwei verschiedenen ids eingeben. HierSo geben Sie die gleichen Strings nach 7 Objekten ein
ist zum Beispiel:
>>> 361 >>>> 101 BBC One South East
>>> 362 >>>> 102 BBC Two
>>> 363 >>>> 103 ITV
>>> 364 >>>> 104 Channel 4
>>> 365 >>>> 105 Channel 5
>>> 366 >>>> 106 Sky One
>>> 367 >>>> 107 Sky Living
>>> 368 >>>> 101 BBC One South East
>>> 369 >>>> 102 BBC Two
>>> 370 >>>> 103 ITV
>>> 371 >>>> 104 Channel 4
>>> 372 >>>> 105 Channel 5
>>> 373 >>>> 106 Sky One
>>> 374 >>>> 107 Sky Living
Hier ist der Code:
channel_index = 0
#set the channels text in the label
for program_id in range(361, 375):
self.parent.getControl(int(program_id)).setLabel(channels_list[channel_index])
channel_index += 1
Hier ist die Liste für channels_list
:
['102 BBC Two', '103 ITV', '104 Channel 4', '105 Channel 5', '106 Sky One', '107 Sky Living', '108 Sky Atlantic']
Was der Code tun, ist sie Geben Sie nur die 7 Zeichenfolgen in 7 Tasten ein, so dass Sie nicht die gleiche Zeichenfolge über die nächsten 7 Tasten eingeben Es wird mir einen Fehler geben: IndexError: Index außerhalb des Bereichs auflisten.
Was ich zu tun erwarte, ist die Eingabe der Strings in den ersten 7 Tasten, also in den nächsten 7 Tasten möchte ich die gleichen Strings eingeben. Kannst du mir bitte zeigen, wie ich das mit meinem aktuellen Code machen kann?
EDIT: Wenn ich das versuchen:
for program_id in range(361, 375):
print channels_list[channel_index]
Es wird die Ausgabe für den channels_list
geben Sie mir:
102 BBC Two
103 ITV
104 Channel 4
105 Channel 5
106 Sky One
107 Sky Living
108 Sky Atlantic
Hier ist, was ich erreichen will:
102 BBC Two
103 ITV
104 Channel 4
105 Channel 5
106 Sky One
107 Sky Living
108 Sky Atlantic
102 BBC Two
103 ITV
104 Channel 4
105 Channel 5
106 Sky One
107 Sky Living
108 Sky Atlantic
Hier ist, was ich verwende, um die Kanäle in der Liste zu speichern:
for channels in self.channel:
if(channel == channels or len(channels_list)) > 0: #check to see if it equals any or we already found it
channels_list.append(channels) #add chanel to list
if len(channels_list) == 7:
break
Es ist ein wenig verwirrend ... Was ist die endgültige Ausgabe, die Sie überprüfen? Basierend auf welcher Eingabe? –
@DamianLattenero Ich habe es aktualisiert, bitte in meiner Update-Frage zu sehen. –
[itertools.cycle] (https://docs.python.org/2/library/itertools.html#itertools.cycle) ?? – f5r5e5d