Python :: Aufgabe #176 :: Lösung #1
3 Lösungen

#176
Ermittlung von Zeilen- und Spaltennummer eines 2D-Array-Feldes
Anfänger - Python
von hollst
- 09.02.2018 um 11:03 Uhr
Die Felder eines "unendlich" großen 2D-Arrays seien nach folgendem "Diagonal-Schema" nummeriert:
1 2 4 7 . . .
3 5 8 . . . .
6 9 . . . . .
10 . . . . . .
. . . . . . usw.
Man schreibe ein Programm, das für eine gegebene Feldnummer N die Zeilen- (ZN) und die Spaltennummer (SN) zurückgibt.
Zeilen- und Spaltennummerierungen beginnen wie üblich mit 0.
Beispiele:
N = 8 -> ZN = 1, SN = 2
N = 31 -> ZN = 2, SN = 5
1 2 4 7 . . .
3 5 8 . . . .
6 9 . . . . .
10 . . . . . .
. . . . . . usw.
Man schreibe ein Programm, das für eine gegebene Feldnummer N die Zeilen- (ZN) und die Spaltennummer (SN) zurückgibt.
Zeilen- und Spaltennummerierungen beginnen wie üblich mit 0.
Beispiele:
N = 8 -> ZN = 1, SN = 2
N = 31 -> ZN = 2, SN = 5
#1

von jigga (4260 Punkte)
- 19.02.2018 um 12:22 Uhr

array, pre_array = [], [] while True: n = input("Feldnummer eingeben: ") try: n = int(n) break except: print("Keine Zahl eingegeben! Bitte nochmal!\n") i, j, k = 1, 1, 0 while True: if i < n: while i < n: pre_array.append(i) i += k + j k += 1 elif i == n: pre_array.append(i) array.append(pre_array) break else: array.append(pre_array) i = array[j-1][0] + j + 1 j += 1 k = 0 pre_array = [] for l in range(len(array)): if n in array[l]: print("ZN =", l, ", SN =", array[l].index(n))
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1