Sep 30 18:47:20 also Sep 30 18:47:37 ok, also hier Sep 30 18:48:03 wenn du ins 3er-system konvertierst, brauchst du nur die ziffern 0..2 Sep 30 18:48:17 dann fllt der Rest weg, ok klar Sep 30 18:48:24 ok Sep 30 18:48:34 dann musst du dir berlegen wie die stellensysteme aufgebaut sind Sep 30 18:48:35 sprich: Sep 30 18:48:37 als was soll ich das nun speichern, tuple, liste oder so? Sep 30 18:48:44 blinx tuple oder liste, egal Sep 30 18:48:48 ok Sep 30 18:48:52 fahre fort Sep 30 18:49:53 wenn man die stellen von hinten zhlt Sep 30 18:50:06 ja Sep 30 18:50:09 dann sind an der 0. stelle die einer Sep 30 18:50:14 an der 1. stelle die "zehner" Sep 30 18:50:15 etc. Sep 30 18:50:15 ja Sep 30 18:50:26 also holst du dir zuerst die einer Sep 30 18:50:34 weit du wie das geht? Sep 30 18:50:46 dmom Sep 30 18:51:59 liste = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] Sep 30 18:52:08 liste[0] Sep 30 18:52:12 -> 1 Sep 30 18:52:14 oder` Sep 30 18:52:16 ? Sep 30 18:52:18 n Sep 30 18:52:20 z.B. Sep 30 18:52:22 zahl = 1234 Sep 30 18:52:28 wie kriegst du die einer raus? Sep 30 18:52:40 also die 4 Sep 30 18:52:41 hm Sep 30 18:52:57 eigentlich ka Sep 30 18:52:58 sorry Sep 30 18:53:08 er soll nur die hintere stelle lesen Sep 30 18:53:13 bzw. beachten.. Sep 30 18:53:17 genau Sep 30 18:53:22 naja, nun wei ich nicht wei Sep 30 18:53:26 *wie Sep 30 18:53:27 mit modulo Sep 30 18:53:30 zahl % 10 Sep 30 18:53:41 moment Sep 30 18:53:50 modulo ist ja der rest einer division Sep 30 18:54:04 genau Sep 30 18:54:21 bingo funzt Sep 30 18:54:37 das system von modulo ist mir im mom aber noch nicht so klar Sep 30 18:55:41 wieso muss ich denn durch 10 dividieren? Sep 30 18:56:09 stell dirs so vor: Sep 30 18:56:25 du schmeit alles was durch 10 teilbar ist weg Sep 30 18:56:34 dann bleiben die einer brig Sep 30 18:56:40 ah.. Sep 30 18:56:42 der ist gut Sep 30 18:56:49 kannst gut erklren.. Sep 30 18:56:54 habs verstanden! Sep 30 18:56:55 danke Sep 30 18:57:01 ok Sep 30 18:57:14 wenn ich die 10er nun haben will, dann 1234 %100 Sep 30 18:57:22 nicht ganz Sep 30 18:57:28 da bleiben ja 34 brig Sep 30 18:57:39 mom Sep 30 18:59:07 dann soll er ja die letzte ziffer vergessen Sep 30 18:59:12 genau Sep 30 18:59:18 also: dazu machst du (1234 // 10) % 10 Sep 30 18:59:32 ok Sep 30 18:59:37 was ist denn nu 1234? Sep 30 18:59:41 sorry Sep 30 18:59:45 // Sep 30 18:59:57 / ist "floor division" Sep 30 19:00:02 // Sep 30 19:00:19 was ist denn das? Sep 30 19:00:29 d.h. du teilst durch, aber schmeit die kommastellen weg Sep 30 19:01:04 -> 1234 // 10 = 123 Sep 30 19:01:27 ich knnte mir das so vorstellen: 1234 %10 =4 1234-4=123 Sep 30 19:01:56 d.h. zahl %10 = x zahl-x= zahlohne die letzte stelle... Sep 30 19:01:57 ? Sep 30 19:02:01 1234-4 ist ja 1230 Sep 30 19:02:14 stimmt Sep 30 19:02:15 mist Sep 30 19:02:39 alles kompliziert Sep 30 19:02:59 ok, naja, system ist jetzt egal, wei ja, was gemeint is.. Sep 30 19:03:07 nun haben wir die 10er Sep 30 19:03:44 ich bin mal ne halbe stunde weg Sep 30 19:03:59 ok Sep 30 19:04:09 hast du nachher noch ein wenig zeit? Sep 30 19:14:26 re Sep 30 19:14:30 ging doch schneller :) Sep 30 19:19:56 fein Sep 30 19:20:01 hast du denn noch lust? Sep 30 19:20:14 sicher Sep 30 19:20:15 also dich mit mir rumzuschlagen...? Sep 30 19:20:20 ok Sep 30 19:20:21 jetzt haben wirs ja gleich Sep 30 19:20:29 naja, mal hoffen Sep 30 19:20:29 also zusammenfassung bisher Sep 30 19:20:35 also, hab mir was berlegt: Sep 30 19:20:38 ja Sep 30 19:20:46 er soll die lnge der zahl rausfinden Sep 30 19:20:49 len(zahl) Sep 30 19:20:59 die ja nun im dezimalsys ist Sep 30 19:21:33 also len(str(zahl)) Sep 30 19:22:30 http://wiki.python.de/Paste/230 Sep 30 19:22:37 naja, da kommt nun ein error Sep 30 19:23:34 was denn fr einer? Sep 30 19:23:50 sys:1: DeprecationWarning: Non-ASCII character '\xf6' in file ./zahlensysteme.py on line 6, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details Sep 30 19:23:53 File "./zahlensysteme.py", line 51 Sep 30 19:23:55 break Sep 30 19:23:58 ^ Sep 30 19:24:00 das hatte ich schon mal irgends Sep 30 19:24:03 SyntaxError: invalid syntax Sep 30 19:24:12 "else:l" Sep 30 19:24:40 oha Sep 30 19:24:46 was macht das? Sep 30 19:25:01 1 ist ja schon da Sep 30 19:25:19 nein, das ist der fehler Sep 30 19:26:43 was heit das? Sep 30 19:26:52 dass das "l" weg muss Sep 30 19:26:55 hm, jetz isser weg Sep 30 19:27:23 ok weita Sep 30 19:27:33 was hast dir jetzt weiter berlegt? Sep 30 19:28:34 je weiterer stelle soll er also fr x (1234 // 10x) %10 eine Null dranmachen Sep 30 19:28:38 also ne for schleife? Sep 30 19:29:04 for x in range... oder so? Sep 30 19:29:07 hm Sep 30 19:29:16 was meinste? Sep 30 19:29:19 jo, klingt gut Sep 30 19:29:28 ich kanns nicht fassen Sep 30 19:29:43 die frage ist halt, wie die null dranmachen Sep 30 19:30:58 hm Sep 30 19:31:02 gute frage Sep 30 19:31:09 also Sep 30 19:31:10 (1234 // 10 Sep 30 19:31:16 +0.. Sep 30 19:31:17 ne Sep 30 19:31:19 fr x = 0 wollen wir 1 Sep 30 19:31:19 sorry Sep 30 19:31:23 fr x = 1 wollen wir 10 Sep 30 19:31:29 fr x = 2 wollen wir 100 Sep 30 19:31:29 etc. Sep 30 19:31:34 das sind die stellen, ok Sep 30 19:31:42 stelle 0 = die einer Sep 30 19:31:54 stelle 1 die 10er Sep 30 19:31:55 usw. Sep 30 19:31:55 ok, verstanden Sep 30 19:31:55 welche funktion bildet 0 -> 1, 1 -> 10, 2 -> 100 ab? Sep 30 19:32:03 die liste[] Sep 30 19:32:14 n Sep 30 19:32:25 stimmt Sep 30 19:32:38 du brauchst 10**x Sep 30 19:32:56 hm Sep 30 19:33:03 verstehe ich leider nicht.. Sep 30 19:33:07 10 hoch x Sep 30 19:33:11 ah Sep 30 19:33:56 die rechte stelle ist die basis hoch 0, die zweite von rechts die basis hoch 2 etc Sep 30 19:34:02 genau Sep 30 19:34:11 weiter Sep 30 19:34:33 also: Sep 30 19:34:35 er soll das x immer um 1 vergrern Sep 30 19:34:41 die gewnschte ziffer ist Sep 30 19:34:47 (1234 // 10**x) % 10 Sep 30 19:35:06 hm Sep 30 19:35:16 ist mir nicht ganz klar Sep 30 19:35:43 das hast du doch oben schon geschrieben Sep 30 19:35:53 je weiterer stelle soll er also fr x (1234 // 10x) %10 eine Null dranmachen Sep 30 19:36:15 ah Sep 30 19:36:22 10 = 100 Sep 30 19:36:28 10 =1000 Sep 30 19:36:37 naja, selten dmlich... Sep 30 19:36:43 von mir.. Sep 30 19:36:57 pro null also den exponenten um 1 erhhen Sep 30 19:37:07 d.h.: for x in range: Sep 30 19:37:41 (1234 //10**x) % 10 Sep 30 19:37:57 der beginnt ja automatisch mit x bei 0, oder? Sep 30 19:38:12 jo Sep 30 19:38:34 ok Sep 30 19:38:37 und nun...? Sep 30 19:38:51 jetzt haben wir jede stelle fr sich? Sep 30 19:39:08 das ist dann unser index in die oben erstellte liste Sep 30 19:39:18 ok Sep 30 19:39:25 wie msste denn dann der code aussehen? Sep 30 19:39:34 res = "" Sep 30 19:39:40 for x in range(): Sep 30 19:39:41 ? Sep 30 19:39:45 ok Sep 30 19:40:04 res = ziffern[(zahl // basis**x) % basis] + res Sep 30 19:40:28 ok, res ist klar, ziffern? Sep 30 19:40:42 ziffern ist die liste Sep 30 19:41:19 basis wre nun was? Sep 30 19:41:28 ich habe das ausgangssys Sep 30 19:41:32 und das zielsys Sep 30 19:41:40 zielsys? Sep 30 19:41:51 basis ist zielsys Sep 30 19:42:12 o Sep 30 19:42:12 k Sep 30 19:42:17 weiter Sep 30 19:42:45 nun mal die ausgabe anschauen Sep 30 19:42:52 es geht noch nicht so Sep 30 19:43:06 range() braucht einen parameter Sep 30 19:43:28 welche gibt es denn zur auswahl? Sep 30 19:43:44 naja, range() braucht einen endpunkt Sep 30 19:44:01 also die lnge! Sep 30 19:44:09 laenge haben wir Sep 30 19:44:12 ja, aber die lnge im neuen system Sep 30 19:44:16 nicht die im dezimalsystem Sep 30 19:44:34 hm, wie finden wir das denn raus Sep 30 19:44:47 schwierig... Sep 30 19:45:03 d.h. lieber keine for-schleife Sep 30 19:45:06 eigentlich bruchten wir dann ja die umgerechnete zahl.. Sep 30 19:45:07 ok Sep 30 19:45:23 du brauchst eine abbruchbedingung Sep 30 19:45:41 wenn len = ?? then break? Sep 30 19:45:45 n Sep 30 19:45:50 len haben wir nicht Sep 30 19:45:58 aber was anderes Sep 30 19:46:02 mom Sep 30 19:46:10 wann soll range aufhren Sep 30 19:46:11 ? Sep 30 19:46:15 das wissen wir nicht Sep 30 19:46:23 hm Sep 30 19:46:35 wir haben die lnge der ausgangszahl Sep 30 19:46:41 das ntzt nix Sep 30 19:46:47 genau Sep 30 19:46:51 du brauchst eine andere bedingung Sep 30 19:46:54 das zielsys Sep 30 19:47:02 und das ausgangssys Sep 30 19:47:14 ne, was anderes Sep 30 19:47:19 komm, sag... :) Sep 30 19:47:35 was passiert wenn 10**x grer als zahl ist? Sep 30 19:48:01 hm Sep 30 19:48:15 also, 10 hoch x > 1234 Sep 30 19:48:20 genau Sep 30 19:48:32 also, 10 hoch 8 > 1234 Sep 30 19:48:37 z.B. Sep 30 19:48:45 auch schon 10 hoch 5 > 1234 Sep 30 19:48:48 dann soll er abbrechen Sep 30 19:48:53 ja klar Sep 30 19:49:03 genau Sep 30 19:49:12 und was ist dann 1234 // 10**5 ? Sep 30 19:49:14 dann braucht er die stellen nicht weiter zu ... Sep 30 19:49:31 nix Sep 30 19:49:33 0 Sep 30 19:49:36 genau! Sep 30 19:49:44 also sobald das 0 wird knnen wir abbrechen Sep 30 19:49:48 ok Sep 30 19:49:49 also: Sep 30 19:49:52 while 1: Sep 30 19:49:53 ... Sep 30 19:49:59 ja Sep 30 19:50:10 if zahl // basis hoch ?? Sep 30 19:50:24 then false Sep 30 19:50:26 ? Sep 30 19:50:27 bah Sep 30 19:50:30 ja Sep 30 19:50:31 isses Sep 30 19:50:34 ich gebs zu Sep 30 19:50:40 if zahl // basis**x == 0: Sep 30 19:50:41 break Sep 30 19:50:51 auch gut Sep 30 19:51:15 ja Sep 30 19:51:24 und was soll er vorher machen Sep 30 19:51:26 ? Sep 30 19:51:41 die for schleife hatten wir eben ausgeschlossen.. Sep 30 19:52:14 while 1: Sep 30 19:52:17 hatten wir doch schon Sep 30 19:52:29 aha, also doch nicht bah Sep 30 19:52:50 *g* Sep 30 19:52:55 witzig mit dir... Sep 30 19:52:57 naja, weiter Sep 30 19:53:19 er soll wie gesagt ne stelle dranhngen also x=+ 1 Sep 30 19:53:20 ? Sep 30 19:53:23 nein, bah war nur alles ab "if" Sep 30 19:53:29 genau Sep 30 19:53:40 while 1: Sep 30 19:53:48 x =+1 Sep 30 19:54:05 if zahl // basis**x == 0 Sep 30 19:54:06 break Sep 30 19:54:17 genau Sep 30 19:54:37 naja, gerechnet hat er ja noch nix? Sep 30 19:54:59 hat einfach x+1 gemacht und geguckt, ob zahl // basis**x ==0 Sep 30 19:55:03 n, das mit res muss wieder zurck Sep 30 19:55:07 was wollten wir eigentlich? Sep 30 19:55:20 sorry, hab den berblick verloren Sep 30 19:55:45 wir wollten jetzt die stelle berechnen und an den ausgangsstring anhngen Sep 30 19:56:17 nun haben wir geprft, ob die zahl auch immer kleiner ist, als....? Sep 30 19:56:27 muss mir mal kommentare reinschreiben Sep 30 19:56:33 sonst blicke ich gar net mehr durch Sep 30 19:57:32 ob x auch kleiner ist als die anzahl der stellen Sep 30 19:58:47 ne, ob die l hoch x auch nicht grer als die wirkliche zahl ist? Sep 30 19:58:51 mist Sep 30 19:59:01 ne, ob die basis hoch x auch nicht grer als die wirkliche zahl ist