Schleife verlassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
gerald123
User
Beiträge: 36
Registriert: Donnerstag 10. September 2015, 12:10

Hey, ich möchte folgended quadratische Matrix mittels For-Schleife erstellen: 10x10; Hauptdiagonale: 4; Sub- und Super-Diagonale: 1

funktioniert auch soweit:

Code: Alles auswählen

import numpy as np
a = np.zeros((10,10))
b = a.shape[0]
for xx in range(0,b):
    a[xx,xx] = 4
    if xx == b-1:
        print('lala')
    else:
        a[xx,xx+1] = 1
         
    if xx == 0:
        continue
    else:
        a[xx, xx-1]= 1
Meine Frage: Wie kann ich, wenn die Bedingung: if xx == b-1 erfüllt ist, anstatt ('lala') auszugeben, ans Ende dieser if Anweisung springen. Mit continue springt er mir ans Ende der Schleife.

Vielen Dank
Sirius3
User
Beiträge: 18297
Registriert: Sonntag 21. Oktober 2012, 17:20

@gerald123: bei if muß man gar nicht explizit springen, der else-Block wird doch gar nicht ausgeführt, wenn die Bedingung erfüllt ist. Apropos, es gibt sowas wie numpy.diag:

Code: Alles auswählen

np.diag([4]*10) + np.diag([1]*9,1) + np.diag([1]*9,-1)
Antworten