2016-12-24 4 views
-1
#string indexing 

import random 

word = "index" 
print "The word is:" , word, "\n" 

high = len(word) 
low = -len(word) 

for i in range(10): 
    position = random.randrange(low,high) 
    print "word[", position, "]\t", word[position] 

raw_input("\n\nPress the enter key to exit,") 

Ich kopiere dies aus einem Buch namens "Leitfaden für die Programmierung mit Python". Ich bin nicht sicher, warum müssen wir zwei Kommata inUnterschied zwischen [] und [,,] in Python

hinzufügen
[", position, "] 

Was bedeutet das? Und warum bekomme ich Fehler, wenn ich die zwei Kommata lösche?

+2

Sie es falsch bekommen; '[", position, "]' ist kein Ganzes, was Sie tun, ist nur einen Teil der verschiedenen Argumente zu teilen. In der Zeile, wo dies erscheint, wird die Funktion 'print' mit vier verschiedenen Argumenten, die durch Kommas getrennt sind, aufgerufen. Das erste Argument ist die Zeichenkette' "word [" ', das zweite ist die Variable' position ', der dritte ein anderer String' "] \ t" 'und schließlich der vierte eine Variable' word [position] '. Wenn Sie die Kommas entfernen, brechen Sie die Python-Syntax vollständig. – dabadaba

+0

beziehen Sie sich auf die Kommas im 'print'-Wort [", position, "] \ t", word [position] '? (Weil ich dieses Bit nirgendwo anders sehe) - Sie müssen Argumente (für 'print' in diesem Fall) trennen, da Sie eine Zeichenkette, eine Variable (Ganzzahl), eine andere Zeichenkette und ein Zeichen (einer Zeichenkettenvariablen) haben) – UnholySheep

Antwort

0

In python3

print("word[", position, "]\t", word[position]) 

"Wort [", Position "[\ t", Wort [position] sind Argumente von print()

Verwandte Themen