suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Grundlegende Fragen für Python-Neulinge zur Verschachtelung von While-Schleifen

Der Quellcode lautet wie folgt:

# -*- coding:gb2312 -*-
#站起来,坐下,站起来,转5个圈,坐下。整个流程执行10次
Process1 = 1
Process2 = 1
while Process1 < 10: # 这个Process1 代表外面大的while循环
    print("="*5)
    print("第%d次执行"%Process1)
    print("站起来")
    print("坐下")
    print("站起来")
    while Process2 <= 5: # 这个Process2 代表嵌套在里面的while小循环
        print("转%d个圈"%Process2)
        Process2 = Process2 + 1
    print("坐下")
    Process1 = Process1 + 1

Ausführungsergebnis:

Meine Frage ist:
Warum wird der im Bild rot markierte Teil, also die innere Schleife von Prozess2, im gesamten Prozess nur einmal ausgeführt, anstatt zusammen mit der gesamten großen Schleife außen zehnmal ausgeführt zu werden? Wie kann ich es verbessern, damit es weiterhin im gesamten Programm verschachtelt werden kann?

PHP中文网PHP中文网2742 Tage vor737

Antworte allen(2)Ich werde antworten

  • 怪我咯

    怪我咯2017-05-24 11:37:20

    执行第一次外循环之后, Process2 的值变成了 6, 在执行第二次外循环及以后时,它的值一直是 6, 所以内循环不执行.
    如果你想让它执行, Process2的初始化应该放到外循环里面.

    Process1 = 1
    while Process1 < 10: # 这个Process1 代表外面大的while循环
        print("="*5)
        print("第%d次执行"%Process1)
        print("站起来")
        print("坐下")
        print("站起来")
        Process2 = 1
        while Process2 <= 5: # 这个Process2 代表嵌套在里面的while小循环
            print("转%d个圈"%Process2)
            Process2 = Process2 + 1
        print("坐下")
        Process1 = Process1 + 1

    Antwort
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-24 11:37:20

    要把内层循环的变量赋值放在外层循环里面才行。保证在每次外层循环时,内层循环变量都从1开始。不然,内层循环变量第一次运行后变成6,之后一直是6,导致后面不再执行。

    # -*- coding:gb2312 -*-
    #站起来,坐下,站起来,转5个圈,坐下。整个流程执行10次
    Process1 = 1
    while Process1 < 10: # 这个Process1 代表外面大的while循环
        print("="*5)
        print("第%d次执行"%Process1)
        print("站起来")
        print("坐下")
        print("站起来")
        Process2 = 1
        while Process2 <= 5: # 这个Process2 代表嵌套在里面的while小循环
            print("转%d个圈"%Process2)
            Process2 = Process2 + 1
        print("坐下")
        Process1 = Process1 + 1

    Antwort
    0
  • StornierenAntwort