Greife auf das erste Zeichen des zweiten Wortes zu und ändere es in Großbuchstaben (licht -> Licht).

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.
Benutzeravatar
Dennis89
User
Beiträge: 1682
Registriert: Freitag 11. Dezember 2020, 15:13

@Dennis89: Du änderst da ja nur das zweite Wort. Meine 107 Bytes beziehen sich auf alle Änderungen.
Ja, das habe ich verstanden, deswegen das "Mist". :P

44? Alleine ` R='Das licht des Mondes beleuchtet DIE Nacht.'` hat schon 47 🤔

Bitte zeige mal deine Lösung. Bestimmt wieder irgendwelhe Bitoperationen, auf die normal sterbliche nicht kommen
"When I got the music, I got a place to go" [Rancid, 1993]
Benutzeravatar
__blackjack__
User
Beiträge: 14300
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Dennis89: *Das* wäre doch nur ``R=S``, ich gehe ja davon aus, dass die Eingabedaten ``S="... der Satz ..."`` schon existieren und zähle nur die Bytes die für das erstellen von `R` aus `S` notwendig sind. Und nur den ersten Buchstaben vom zweiten Wort ”vergrössern”, kann man in 44 Bytes so machen:

Code: Alles auswählen

i=S.find(" ")+1;R=S[:i]+S[i].upper()+S[i+1:]
Also nix exotisches. Das entspricht vom Vorgehen meinem ersten BASIC-Programm, das dafür 239 Bytes braucht. Wobei ich da nicht auf Bytes sparen geachtet habe. Da kommt man leicht auf 206 runter (Null-Bytes nicht mitgezählt):

Code: Alles auswählen

1 S$="Das licht des Mondes beleuchtet DIE Nacht.":I=1
2 IFMID$(S$,I,1)<>" "THENI=I+1:GOTO2
3 PRINTLEFT$(S$,I);:C$=MID$(S$,I+1,1)
4 IFC$>"`"ANDC$<"{"THENC$=CHR$(ASC(C$)-32)
5 PRINTC$;:PRINTMID$(S$,I+2)
Edit: Die Zeilen 3 und 4 habe ich nicht zusammengefasst, weil die voreingestellte Terminalbreite, und damit die Längenbegrenzung für eine Zeile, bei Altair BASIC 72 Zeichen beträgt. Wegen den weit verbreiteten TeleType 33 die als Terminals verwendet wurden, und die nur 72 Zeichen pro Zeile haben.
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
Kudde
User
Beiträge: 5
Registriert: Sonntag 25. Januar 2026, 13:50

Moin zusammen, vielen Dank für Eure Mühe. Das Problem bei der Aufgabe war, das ich nur die Sachen benutzen sollte, welche wir bis dahin gelernt hatten.
Benutzeravatar
__blackjack__
User
Beiträge: 14300
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Kudde: Dann ergibt sich daraus für uns natürlich das Problem, dass wir nicht wissen was ihr bis dahin schon gelernt hattet. :-)

Wobei sich `capitalize()` ja durch Sachen ersetzen lässt, die auch bei den anderen Teillösungen von Dir verwendet werden, also wäre das kein Problem es richtig zu machen. Die Aufgabenformulierung spricht IMHO auch stark gegen `capitalize()`, das heisst der Aufgabensteller hat das wahrscheinlich bewusst _so_ formuliert, weil das keine der vorhandenen `str`-Methoden leistet.
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
Benutzeravatar
noisefloor
User
Beiträge: 4297
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

@Kudde: die Frage zum Wissensstand hatte ich genau deshalb hier bereits gestellt. Wenn du nochmal eine Frage zu einer Kursaufgabe hast am besten kurz noch beschreiben, was ihr schon könnt bzw. schreiben, was ihr verwenden dürft.

Gruß, noisefloor
Antworten