Einführung in die Python-Programmierung (022) – Schleifenstrukturprogrammierung (3): Verschachtelung von Schleifen

Einführung in die Python-Programmierung (022) – Schleifenstrukturprogrammierung (3): Verschachtelung von Schleifen

Bei der Programmierung kommt es sehr häufig zu einer Verschachtelung von Schleifenanweisungen. Unter Schleifenverschachtelung versteht man die Aufnahme einer weiteren Schleifenanweisung innerhalb einer Schleifenanweisung. Beispiel: Betten Sie eine weitere for-Schleife oder while-Schleife in eine for-Schleife ein, betten Sie eine andere while-Schleife oder for-Schleife in eine while-Schleife ein usw.

1. Geben Sie die Multiplikationsformel aus

1. Verwenden Sie eine doppelschichtige for-Schleife

Code wie folgt anzeigen:

for i in range(1,10):
    for j in range(1,i+1):
        print("{:1d}*{:1d}={:2d}".format(j, i, i*j),end = "\t")
    print()

程序执行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
1*1= 1	
1*2= 2	2*2= 4	
1*3= 3	2*3= 6	3*3= 9	
1*4= 4	2*4= 8	3*4=12	4*4=16	
1*5= 5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6= 6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7= 7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8= 8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9= 9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	

2. Verwenden Sie eine doppelschichtige while-Schleife

Code wie folgt anzeigen:

i = 1
while i<10:
    j = 1
    while j <= i:
        print("{:1d}*{:1d}={:2d}".format(j, i, i*j),end = "\t")
        j += 1
    print()
    i += 1
    
程序执行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
1*1= 1	
1*2= 2	2*2= 4	
1*3= 3	2*3= 6	3*3= 9	
1*4= 4	2*4= 8	3*4=12	4*4=16	
1*5= 5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6= 6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7= 7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8= 8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9= 9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	

2. Primzahlen innerhalb von 1000 ausgeben

1. Verwenden Sie eine for-Schleife, um eine while-Schleife zu verschachteln

Code wie folgt anzeigen:

list1 = [2]
for i in range(3,1000):
    j = 2
    while j <= int(i ** 0.5) + 1:
        if i % j == 0:
            break
        else:
            j += 1
    if j >= int(i ** 0.5) + 1:
        list1.append(i)
for item in range(len(list1)):
    print("{:6d}".format(list1[item]),end = "")
    if (item + 1) % 10 == 0:
        print()
            
程序执行结果如下:
============================= RESTART: C:\Python\Python38\First.py =============================
     2     3     5     7    11    13    17    19    23    29
    31    37    41    43    47    53    59    61    67    71
    73    79    83    89    97   101   103   107   109   113
   127   131   137   139   149   151   157   163   167   173
   179   181   191   193   197   199   211   223   227   229
   233   239   241   251   257   263   269   271   277   281
   283   293   307   311   313   317   331   337   347   349
   353   359   367   373   379   383   389   397   401   409
   419   421   431   433   439   443   449   457   461   463
   467   479   487   491   499   503   509   521   523   541
   547   557   563   569   571   577   587   593   599   601
   607   613   617   619   631   641   643   647   653   659
   661   673   677   683   691   701   709   719   727   733
   739   743   751   757   761   769   773   787   797   809
   811   821   823   827   829   839   853   857   859   863
   877   881   883   887   907   911   919   929   937   941
   947   953   967   971   977   983   991   997

2. Verwenden Sie eine doppelschichtige for-Schleife

Code wie folgt anzeigen:

list1 = [2]
for i in range(3,1000):
    for j in range(2,int(i ** 0.5) + 2):
        if i % j == 0:
            break
    if j >= int(i ** 0.5) + 1:
        list1.append(i)
for item in range(len(list1)):
    print("{:6d}".format(list1[item]),end = "")
    if (item + 1) % 10 == 0:
        print()
                    
程序执行结果如下:
============================== RESTART: C:\Python\Python38\First.py ==============================
     2     3     5     7    11    13    17    19    23    29
    31    37    41    43    47    53    59    61    67    71
    73    79    83    89    97   101   103   107   109   113
   127   131   137   139   149   151   157   163   167   173
   179   181   191   193   197   199   211   223   227   229
   233   239   241   251   257   263   269   271   277   281
   283   293   307   311   313   317   331   337   347   349
   353   359   367   373   379   383   389   397   401   409
   419   421   431   433   439   443   449   457   461   463
   467   479   487   491   499   503   509   521   523   541
   547   557   563   569   571   577   587   593   599   601
   607   613   617   619   631   641   643   647   653   659
   661   673   677   683   691   701   709   719   727   733
   739   743   751   757   761   769   773   787   797   809
   811   821   823   827   829   839   853   857   859   863
   877   881   883   887   907   911   919   929   937   941
   947   953   967   971   977   983   991   997

3. Die innere for-Schleife verwendet den for-Ausdruck

Code wie folgt anzeigen:

list1 = [2]
for i in range(3,1000):
    if 0 not in [i % j for j in range(2,int(i ** 0.5) + 2)]:
        list1.append(i)
for item in range(len(list1)):
    print("{:6d}".format(list1[item]),end = "")
    if (item + 1) % 10 == 0:
        print()
                            
程序执行结果如下:
============================ RESTART: C:\Python\Python38\First.py =============================
     2     3     5     7    11    13    17    19    23    29
    31    37    41    43    47    53    59    61    67    71
    73    79    83    89    97   101   103   107   109   113
   127   131   137   139   149   151   157   163   167   173
   179   181   191   193   197   199   211   223   227   229
   233   239   241   251   257   263   269   271   277   281
   283   293   307   311   313   317   331   337   347   349
   353   359   367   373   379   383   389   397   401   409
   419   421   431   433   439   443   449   457   461   463
   467   479   487   491   499   503   509   521   523   541
   547   557   563   569   571   577   587   593   599   601
   607   613   617   619   631   641   643   647   653   659
   661   673   677   683   691   701   709   719   727   733
   739   743   751   757   761   769   773   787   797   809
   811   821   823   827   829   839   853   857   859   863
   877   881   883   887   907   911   919   929   937   941
   947   953   967   971   977   983   991   997

3. Bestimmen Sie, wie oft die Zahl 1 unter den ganzen Zahlen zwischen 1 und 1000 vorkommt

Code wie folgt anzeigen:

s = 0
for i in range(1,1001):
    for item in str(i):
        if item == "1":
            s += 1
print(s)
                            
程序执行结果如下:
========================= RESTART: C:\Python\Python38\First.py ==============================
301

Supongo que te gusta

Origin blog.csdn.net/weixin_44377973/article/details/132325502
Recomendado
Clasificación