Grundlegende Fragen für Python-Anfänger zur While-Schleife
大家讲道理
大家讲道理 2017-05-24 11:35:01
0
2
482

Titel: Verwenden Sie Python, um alle geraden Zahlen innerhalb von 100 auszudrucken

Das erste Stück Code:

n = 1
i = 2*n
while i <= 100:
    print(i)
    n+=1

Ergebnis der Codeausführung: Unendliche Drucknummer 2

Zweiter Code:

n = 1
i = 2*n
while i <= 100:
    print(i)
    n+=1
    i = 2*n

Ergebnis der Codeausführung: korrekt gedruckt

Meine Frage:
Warum ist das vom ersten Codeteil ausgegebene Ergebnis falsch, der zweite Codeteil fügt jedoch nur i=2*n zur while-Schleife hinzu und das Ergebnis ist korrekt? Ist es möglich, dass im ersten Teil des Codes, wo n+=1 ist, n den Wert von i nicht ändern kann, während n ständig 1 hinzufügt? Warum?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

Antworte allen(2)
伊谢尔伦

在循环中,没有执行 i = 2*n,它的值又怎么会改变. 只有执行了相应的语句,才会改变的.
初始赋值 i = 2*n, i的值不会动态的随n的改变而改变,只有执行了相应的语句才会改变.

仅有的幸福

是的,第一段代码n加1并没有改变i的值,i一直是2.

while循环的语法是:
while 条件:
    code...

只要条件满足True,就一直循环。

第一段的条件一直是 i < 100, 即 2 < 100, 满足条件,所以会不断循环。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!