Die überprüfung, ob eine Zahl nicht in Reichweite ist, in Python
Ok, also ich habe Python-code im moment die nicht so etwas wie dieses:
if plug in range(1, 5):
print "The number spider has disappeared down the plughole"
Aber, was ich eigentlich tun möchten, ist zu überprüfen, ob die Anzahl nicht in Reichweite. Ich habe gegoogelt und hatte einen Blick auf die Python docs, aber ich kann nichts finden. Irgendwelche Ideen?
Zusätzliche Daten: Wenn Sie diesen code ausführen:
if not plug in range(1, 5):
print "The number spider has disappeared down the plughole"
Bekomme ich die folgende Fehlermeldung:
Traceback (most recent call last):
File "python", line 33, in <module>
IndexError: list assignment index out of range
Ich auch versucht:
if plug not in range(1,5):
print "The number spider has disappeared down the plughole"
Denen zurückgegeben, die den gleichen Fehler.
not in range(1, 5)
?- ja, im Grunde
- Haben Sie es ausprobiert?
- Auch, stellen Sie sicher, dass
plug
ist von Typ integer oder das überprüfen funktioniert nicht - in range(-1000,1,) oder in Reihe(5,10000) ? (jk)
- Natürlich funktioniert es
not
ist tatsächlich eine niedrigere Priorität alsin
, soplug not in range(1,5)
gut funktionieren wird.- Was ist Zeile 33? Sie geben einen IndexError aber das macht uns nicht helfen bei allen. Es scheint von einem anderen Teil des Codes. In deinem weiteren code gibt es keine Liste-Zuweisung stattfindet. Sollten Sie code, den wir ausführen können, und reproduzieren Sie Ihr problem mit, das ist jetzt nicht der Fall
- Zeile 33 ursprünglich:
if plug not in range(1, 5)
. Es funktionierte nicht zum Zeitpunkt der Veröffentlichung... - Ich werde die Abstimmung zu schließen, ist diese Frage off-topic, weil während vielleicht immer noch reproduzierbar unter den richtigen Bedingungen, diese Frage betrifft entweder eine technische rechnerische Fehler oder ein Sicherheitsproblem und ist somit nicht sinnvoll, die Allgemeinen Stack Overflow user.
- Das ist Super, dass Ihr erkennt, dass. Es ist ein einfacher Weg, um loszuwerden, die Frage, aber. Dort ist ein link, der sagt
delete
nur unter tags. - Es ist nicht möglich, zum löschen von Fragen, die bereits beantwortet. Oder zumindest ist es derzeit nicht möglich für mich ohne moderator eingreifen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Ihr Bereich hat eine
step
von einem, es ist performance-Weise, die viel schneller zu bedienen:Als es wäre, um die
not
Methode vorgeschlagen, die von anderen:Beweis:
Und dieser ist auch nicht unter Berücksichtigung der Zeitaufwand für die Erstellung der
range
.range()
sollte verwendet werden, für die Zeiten, wenn Sie brauchen, um alle zahlen in einer Reihe. In diesem Szenario müssen Sie nur die begin-und end-Punkte.dis.dis()
zu sehen, die ZERLEGUNG einer Funktion.if _not_ 1 <= plug < 5
im obigen Beispiel?Scheint dies so gut funktionieren:
Genaue Antwort auf die ursprüngliche Frage wäre
if not 1 <= plug < 5:
ich denke,Verwenden:
Gedruckt angegebenen Zeile, wenn die variable plug ist aus dem Bereich von 1 bis 5
Wert sollte Typumwandlung in integer, sonst
not in range
gibt merkwürdige Ergebnis.