Seite 1 von 1

anfängerfrage

Verfasst: Montag 10. September 2007, 13:51
von mephisto23
hi leute ich bin noch python neuling. und hab mich mal an einem script versucht.

Code: Alles auswählen

def countletters(n, m): 
    count = 0
    for char in n:
        if char == m:
            count = count + 1
    return count 
            

print "bitte zu suchenden buchstaben eingeben: "
m = raw_input()

print "bitte zu durchsuchende zeichenkette eingeben: "
n = raw_input()


print countletters(n, m)          
            
            
es funktioiert aber leider nicht.
ich glaube es liegt an der if anweisung. aber ich komm nicht dahinter wie ich das beheben kann.
besten dank für eure hilfe.
mfG
mephisto23

Verfasst: Montag 10. September 2007, 14:10
von tromai
Also dein Script läuft bei mir einwandfrei.
Was für eine Meldung bekommst du denn?

Verfasst: Montag 10. September 2007, 14:13
von Mawilo
Das Skript zählt, wie oft ein Buchstabe in einer Zeichenkette vorkommt. Hat bei mir funktioniert.

Mawilo


Herzlich willkommen im Forum.

Verfasst: Montag 10. September 2007, 14:18
von mephisto23
also ich bekomm immer eine 0 zurück.

Verfasst: Montag 10. September 2007, 14:28
von Mawilo

Code: Alles auswählen

def countletters(n, m): 
    count = 0 
    for char in n:
        if char == m: 
            count = count + 1 
    return count 
            
print "bitte zu suchenden buchstaben eingeben: " 
#m = raw_input()
m = 'u'

print "bitte zu durchsuchende zeichenkette eingeben: " 
#n = raw_input()
n = 'uuuuu'

print countletters(n, m)
Ich bekomme da eine 5 zurück. Sollte eigentlich bei Dir auch so sein.

Verfasst: Montag 10. September 2007, 14:34
von mephisto23
ok. wenn ich die eingabe weglasse funktionierts.
hast du eine idee warum es mit dem raw:input nicht klappt?

Verfasst: Montag 10. September 2007, 14:53
von BlackJack
Kleiner Tip: Zeichenketten haben eine `count()`-Methode.