2016-11-01 3 views
0

Ich machte eine sehr einfache namens Hangman und ich habe versucht, .start() und .end() Funktionen zu verwenden, um alle Übereinstimmungen von Benutzereingaben zu erhalten. Diese Funktionen geben ein Tupel zurück. beispielsweise;Python - start() und end() Funktionen wählen Tupel Artikel

text = 'test' 
hidden_word = list('_'*len(text)) 
for m in re.finditer('t', text): 
    print('t found', m.start(), m.end()) 

Ausgang>
('t gefunden', 0, 1)
('t gefunden', 3, 4)
Meine Frage ist>wie ich Elemente aus der Auswahl Tupel zurückgegeben?

.start() [1] gibt Typeerror: 'int' Objekt kein Attribut '__getitem__'

+0

'start()' gibt eine Ganzzahl zurück, die die Position im Text ist, an der die Übereinstimmung beginnt, während 'end()' die Endposition zurückgibt. In dem angezeigten Code ist * kein * Tupel enthalten. – Bakuriu

+0

Ja, ohne die Klammern ist es kein Tupel, ich habe das aber nicht gesehen. Es gibt den gleichen Weg zurück: '0 1' und' 3 4' –

Antwort

0

Es ist kein Tupel Rückkehr hat; Sie erstellen jedes Mal ein Tupel, wenn Sie drucken. Wenn Sie den Wert start möchten, verwenden Sie einfach m.start(); ähnlich für end.

+0

ja Im Bewusstsein dessen, aber wie wähle ich das zweite Element dieses Tupels aus? Da es von der Funktion '.start()' & '.end()' und '.start() [1] zurückgegeben wird, kann ich das Element nicht auswählen. –