folgendes Programm nimmt 2 Matrizen an (die Größe kann selbst bestimmt werden) und addiert diese dann.
Das Ergebnis der Addition soll dann ausgegeben werden.
Zumindest in der Theorie...
Sobald ich höhere Zahlen für die Spalten und Zeilen eingebe, bekomme ich eine Fehlermeldung:
Weiß jemand woran das liegt? Mit kleineren Zahlen funktioniert das Programm ja.IndexError: list index out of range
Außerdem würde ich mich freuen, wenn mir jemand erklären könnte, was ich machen muss, damit der Nutzer sieht, für welche Zeile/Spalte er gerade den Wert angibt.
Code: Alles auswählen
def holeZahl(Zahlenprüfung):
while True:
try:
return(int(input(Zahlenprüfung)))
except:
print("Das ist keine Zahl.")
def druckeMatrix(v):
for x in v:
print(x)
print("Dieses Programm addiert zwei Matrizen, die Sie manuell eingeben!")
print("Geben Sie die gewünschte Anzahl der Zeilen an: ")
Zeilen = holeZahl("Zeilen = ")
print("Geben Sie die gewünschte Anzahl der Spalten an: ")
Spalten = holeZahl("Spalten = ")
print("Anzahl Zeilen:", Zeilen)
print("Anzahl Spalten:", Spalten)
print(" ")
print("Es wird folgende Matrix erstellt:")
StartMatrix = [[0 for z in range(Zeilen)] for s in range(Spalten)]
druckeMatrix(StartMatrix)
print(" ")
print("Geben Sie nun die Werte der Matrix A an!")
A = [[int(input("Wert eingeben:")) for z in range(Zeilen)] for s in range(Spalten)]
print(" ")
print("Matrix A:")
druckeMatrix(A)
print(" ")
print("Geben Sie nun die Werte der Matrix B an!")
B = [[int(input("Wert eingeben:")) for z in range(Zeilen)] for s in range(Spalten)]
print(" ")
print("Matrix B:")
druckeMatrix(B)
print(" ")
C = [[A[z][s]+B[z][s] for s in range(Spalten)] for z in range(Zeilen)]
print("Ergebnis der Addition:")
druckeMatrix(C)