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

3 Lösungen Lösungen öffentlich
#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
vote_ok
von jigga (4260 Punkte) - 19.02.2018 um 12:22 Uhr
Quellcode ausblenden Python-Code
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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben