Eine grundlegende Frage über "während wahr"

Ebene: Anfänger

def play_game(word_list): hand = deal_hand(HAND_SIZE) # random init while True: cmd = raw_input('Enter n to deal a new hand, r to replay the last hand, or e to end game: ') if cmd == 'n': hand = deal_hand(HAND_SIZE) play_hand(hand.copy(), word_list) print elif cmd == 'r': play_hand(hand.copy(), word_list) print elif cmd == 'e': break else: print "Invalid command." 

Meine Frage: während was wahr ist?

Ich rechne sagen, "während wahr" ist Kurzschrift aber für was? Während der Variablen 'Hand' ein Wert zugewiesen wird? Und was ist, wenn der Variable "Hand" keinen Wert zugewiesen wird?

15 Solutions collect form web for “Eine grundlegende Frage über "während wahr"”

while True für immer Schleife bedeutet. Die while Anweisung nimmt einen Ausdruck und führt den Loop-Körper aus, während der Ausdruck (boolean) "true" ausgewertet wird. True immer zu boolean "true" ausgewertet und führt somit den Loop-Körper unbegrenzt aus. Es ist ein Idiom, dass Sie sich einfach nur daran gewöhnen werden! Die meisten Sprachen, denen Sie wahrscheinlich begegnen, haben gleichwertige Idiome.

Beachten Sie, dass die meisten Sprachen in der Regel einen Mechanismus für das Ausbrechen der Schleife früh haben. Im Fall von Python ist es die break Anweisung in der cmd == 'e' Fall der Probe in Ihrer Frage.

Meine Frage: während was wahr ist?

Während True ist.

Die while-Schleife läuft so lange, wie der bedingte Ausdruck True .

Da True immer auf True ausgibt, läuft die Schleife auf unbestimmte Zeit, bis etwas innerhalb der Schleife s return oder break .

Während True wahr ist – also immer. Dies ist eine Endlosschleife

Beachten Sie die wichtige Unterscheidung hier zwischen True die ein Schlüsselwort in der Sprache ist, die einen konstanten Wert eines bestimmten Typs angibt, und "wahr", was ein mathematisches Konzept ist.

Meine Frage: während was wahr ist?

Alles in der () der while-Anweisung wird als boolesch bewertet. Das heißt, es wird entweder wahr oder falsch umgewandelt.

Betrachten Sie in der Aussage, while(6 > 5)

Es wertet zuerst den Ausdruck 6 > 5 der true ist true also ist derselbe wie das Sprechen while(true)

Alles, was nicht FALSE ist, 0, ein Leerzeichen "", null oder undefined wird wahrscheinlich auf true ausgewertet.

Als ich zum ersten Mal anfing zu programmieren, habe ich Sachen gemacht, wie if(foo == true) , wusste ich nicht, dass das fast so war wie if(foo) .

Also, wenn du sagst, while(true) seine wie sagen, while(true == true)

Also um dir zu antworten Frage: Während TRUE ist wahr.

In diesem Zusammenhang nehme ich an, dass es als interpretiert werden könnte

 do ... while cmd != 'e' 

Formal ist True eine Python -Konstante von bool- Typ.

Sie können boolesche Operationen auf bool-Typen verwenden (z. B. an der interaktiven Python-Eingabeaufforderung) und konvertieren Zahlen in Bool-Typen:

 >>> print not True False >>> print not False True >>> print True or False True >>> print True and False False >>> a=bool(9) >>> print a True >>> b=bool(0) >>> print b False >>> b=bool(0.000000000000000000000000000000000001) >>> print b True 

Und es gibt "gotcha's" potenziell mit dem, was du siehst und was der Python-Compiler sieht:

 >>> n=0 >>> print bool(n) False >>> n='0' >>> print bool(n) True >>> n=0.0 >>> print bool(n) False >>> n="0.0" >>> print bool(n) True 

Als ein Hinweis darauf, wie Python Bool-Typen intern speichert, kannst du Bool-Typen in Ganzzahlen und True wird herauskommen, um 1 und False 0 zu sein:

 >>> print True+0 1 >>> print True+1 2 >>> print False+0 0 >>> print False+1 1 

In der Tat ist Python bool Typ eine Unterklasse von Python's int Typ:

 >>> type(True) <type 'bool'> >>> isinstance(True, int) True 

Der wichtigste Teil Ihrer Frage lautet: "Was ist while True ?" Ist "was ist wahr", und eine wichtige Korrespondenz: Was ist falsch?

Erstens, für jede Sprache, die Sie lernen, lernen, was die Sprache "Wahrheit" und "Falsch" betrachtet. Python betrachtet die Wahrheit etwas anders als Perl Truth zum Beispiel. Andere Sprachen haben etwas andere Konzepte von true / false. Wissen Sie, was Ihre Sprache als wahr und falsch für verschiedene Operationen und Flow Control, um viele Kopfschmerzen später zu vermeiden!

Es gibt viele Algorithmen, in denen du etwas verarbeiten willst, bis du findest was du suchst. Daher die Endlosschleife oder die unbestimmte Schleife. Jede Sprache neigt dazu, eine eigene Idiom für diese Konstrukte zu haben. Hier sind gemeinsame C unendliche Schleifen, die auch für Perl arbeiten:

 for(;;) { /* loop until break */ } /* or */ while (1) { return if (function(arg) > 3); } 

Die while True: Form ist in Python für unbestimmte Loops bekannt, mit einer Art, aus der Schleife zu brechen. Lerne Python- Flow-Kontrolle zu verstehen, wie Sie ausbrechen, while True Loops. Im Gegensatz zu den meisten Sprachen, zum Beispiel, kann Python eine else Klausel auf einer Schleife haben. Es gibt ein Beispiel im letzten Link.

Eine while Schleife nimmt ein bedingtes Argument (dh etwas, das im Allgemeinen entweder wahr oder falsch ist oder als solches interpretiert werden kann) und nur ausgeführt wird, während die Bedingung True liefert.

Wie while True ? Nun, die einfachste echte Bedingung ist True selbst! Also das ist eine Endlosschleife, meist gut in einem Spiel, das viel Schleife erfordert. (Häufiger aus meiner Perspektive ist es jedoch, eine Art "getan" Variable auf falsch zu setzen und dann das wahr zu machen, um das Spiel zu beenden, und die Schleife würde mehr aussehen, while not done: oder was auch immer.)

In einigen Sprachen True ist nur und Alias ​​für die Nummer. Sie können mehr erfahren, warum dies ist, indem Sie mehr über boolesche Logik lesen.

while Schleifen weiter schleifen, bis die Bedingung falsch ist. Zum Beispiel (Pseudocode):

 i = 0 while i < 10 i++ 

Bei jeder Iteration der Schleife werde ich um 1 erhöht, bis es 10 ist. An diesem Punkt ist die Bedingung i < 10 nicht mehr wahr und die Schleife wird abgeschlossen.

Da die Bedingung, while True explizit und immer true , wird die Schleife niemals enden (bis sie aus irgendeinem anderen Weg herausgebrochen ist, gewöhnlich durch ein Konstrukt wie break innerhalb des Loop-Körpers).

True ist immer True , also while True für immer while True wird.

Die while Keyword nimmt einen Ausdruck und Schleifen, während der Ausdruck wahr ist. True ist ein Ausdruck, der immer wahr ist.

Als evtl. klärendes Beispiel betrachten wir folgendes:

 a = 1 result = a == 1 

Hier wird a == 1 wird True und damit True in das result . Daher,

 a = 1 while a == 1: ... 

ist äquivalent zu:

 while True: ... 

Vorausgesetzt, Sie ändern nicht den Wert a innerhalb der while Schleife.

Nichts ist besser als True . Also, es ist gut, wenn Sie while True statt while 1==1 etc. verwenden

 while True: ... 

Bedeutet Endlosschleife

Die while-Anweisung wird oft von einer endlichen Schleife verwendet. Aber mit dem konstanten 'True' garantiert die Wiederholung der while-Anweisung ohne die Notwendigkeit, die Schleife zu steuern (Einstellung eines booleschen Wertes innerhalb der Iteration zum Beispiel), es sei denn, du willst es brechen.

Eigentlich

 True == (1 == 1) 

Während True bedeutet Endlosschleife, diese in der Regel durch lange Prozess verwenden. du kannst ändern

 while True: 

mit

 while 1: 

Um Ihre Frage direkt zu beantworten: während die Schleifenbedingung True ist. Was es immer ist, in diesem besonderen Code.

Alles kann als True genommen werden, bis das Gegenteil präsentiert wird. So funktioniert die Dualität. Es ist ein Weg, dass Gegensätze verglichen werden. Schwarz kann wahr sein, bis weiß, an welchem ​​Punkt ist es falsch. Schwarz kann auch falsch sein, bis weiß, an welchem ​​Punkt es wahr ist. Es ist kein Staat, sondern ein Vergleich von entgegengesetzten Zuständen. Wenn entweder True ist, ist das andere falsch. True bedeutet nicht, dass es richtig ist oder akzeptiert wird. Es ist ein Staat, in dem das Gegenteil immer falsch ist. Es ist Dualität.

  • In Python, wie mache ich Unterprozeß statt os.system?
  • Setzen einer einfachen if-then-Anweisung auf einer Zeile [duplizieren]
  • Was bedeutet << in Python?
  • Warum Python Sprache hat keine schriftliche () Methode?
  • Erzeugen einer Liste von N Zufallszahlen zwischen einer Anzahl von Zahlen
  • Problem mit List Slice Syntax in Python
  • Was bedeutet `**` in dem Ausdruck `dict (d1, ** d2) '?
  • Python-Einzugs-Semantik
  • Einen Index im Wertebereich zwischen 0-100 in Python finden
  • Ist es möglich, ein reserviertes Wort in Python zu entkommen?
  • Wie normalisiere ich ein zweidimensionales numpy Array in Python weniger ausführlich?
  • Python ist die beste Programmiersprache der Welt.