da es mein erster Beitrag in diesem Forum ist vergebt mir mögliche Fehler, die ich mache und korrigiert mich auch bitte gleich, damit ich sie nicht wiederhole.
Ich bin ein Programmieranfänger und ich habe mich als erste richtige Sprache für Python entschieden, die ich mir selbst versuche beizubringen. Um das Gelernte etwas zu vertiefen, wollte ich ein Programm schreiben, welches ein Wort annimmt und jeweils einen Buchstaben im Wort vergrößert und die anderen dabei klein lässt.
Ich sehe mein Problem in der Iteration, denn bei diesem Code kommt bei der ersten und letzten Variation "TesT" raus statt einmal "Test" und "tesT"
Code: Alles auswählen
inpt = input("Input: ")
def var_input(inpt):
inpt = str(inpt) #da ich python 3.4.3 benutze und ich noch kein raw_input gefunden habe regle ich das so..
string = inpt
for n in range(len(inpt)):
inpt = string.replace(string[n], string[n].upper())
print (inpt)
var_input(inpt)Code: Alles auswählen
inpt = input("Input: ")
def var_input(inpt):
inpt = str(inpt)
string = inpt
for n in range(len(inpt)):
inpt = string.replace(string[n], string[n].upper())
inpt = inpt.replace(inpt[n+1:len(inpt)], inpt[n+1:len(inpt)].lower())
if n > 0:
inpt = inpt.replace(inpt[:n], inpt[:n].lower())
print(inpt)
print (" To be upped: %s" % (inpt[n])) #habe ich benutzt um den Fehler zu finden
print ("inpt lower range %s :executed order %s" % (inpt[n+1:len(inpt)], inpt[n+1:len(inpt)].lower())) # ""
if n > 0:
print ("inpt lower range %s with n >0: executed order %s" % (inpt[:n], inpt[:n].lower())) # ""
var_input(inpt)Dann kommt sowas bei raus:
Input: Banana
Banana
To be upped: B
inpt lower range anana :executed order anana
bAnana
To be upped: A
inpt lower range nana :executed order nana
inpt lower range b with n >0: executed order b
banaNa
To be upped: n
inpt lower range aNa :executed order ana
inpt lower range ba with n >0: executed order ba
banana
To be upped: a
inpt lower range na :executed order na
inpt lower range ban with n >0: executed order ban
banaNa
To be upped: N
inpt lower range a :executed order a
inpt lower range bana with n >0: executed order bana
bananA
To be upped: A
inpt lower range :executed order
inpt lower range banan with n >0: executed order banan
Wo genau liegt der Fehler, wie könnte ich es besser machen? Bin für alle Vorschläge offen, um meinen Code zu verbessern.
Danke im voraus.

