Funktion gibt zusätzlichen Wert aus o.O
Verfasst: Donnerstag 15. März 2018, 14:13
Hi! Ich habe letztens eine Funktion geschrieben, die einen String nach einem anderen kürzeren String durchsucht und die Anzahl der Treffer als
Integer ausgibt. Das tut sie auch, aber sie gibt auch zusätzlich "None" aus. Ich habe dann spaßeshalber den Funktionskörper (nennt man das so? ich glaub schon, berichtigt mich wenn ich falsch liege ._.) schlicht ohne ihn als Funktion zu definieren vom Interpreter abarbeiten lassen, und da tritt das Problem nicht auf, obwohl es, soweit ich das erkennen kann, die gleichen Befehle sind.
Hier die Funktion:
------
def stringsearch(st, wan):
counter = 0
loop = 1
analyze = st
analyze.find(wan)
if st.find(wan) < 0:
loop = 0
while loop == 1:
if analyze.find(wan) >= 0:
counter += 1
cursor = analyze.find(wan) + 1
analyze = analyze[cursor:]
else:
break
print(counter)
string = 'abrakadabra'
wanted = 'a'
print(stringsearch(string, wanted))
# -----------
# Und hier die Variante als nicht-Funktion:
string = 'abrakadabra'
wanted = 'a'
counter = 0
loop = 1
analyze = string
analyze.find(wanted)
if string.find(wanted) < 0:
loop = 0
while loop == 1:
if analyze.find(wanted) >= 0:
counter += 1
cursor = analyze.find(wanted) + 1
analyze = analyze[cursor:]
else:
break
print(counter)
# edit: Verdammte Einrückungen -.- Warum werden die nicht übernommen??
Integer ausgibt. Das tut sie auch, aber sie gibt auch zusätzlich "None" aus. Ich habe dann spaßeshalber den Funktionskörper (nennt man das so? ich glaub schon, berichtigt mich wenn ich falsch liege ._.) schlicht ohne ihn als Funktion zu definieren vom Interpreter abarbeiten lassen, und da tritt das Problem nicht auf, obwohl es, soweit ich das erkennen kann, die gleichen Befehle sind.
Hier die Funktion:
------
def stringsearch(st, wan):
counter = 0
loop = 1
analyze = st
analyze.find(wan)
if st.find(wan) < 0:
loop = 0
while loop == 1:
if analyze.find(wan) >= 0:
counter += 1
cursor = analyze.find(wan) + 1
analyze = analyze[cursor:]
else:
break
print(counter)
string = 'abrakadabra'
wanted = 'a'
print(stringsearch(string, wanted))
# -----------
# Und hier die Variante als nicht-Funktion:
string = 'abrakadabra'
wanted = 'a'
counter = 0
loop = 1
analyze = string
analyze.find(wanted)
if string.find(wanted) < 0:
loop = 0
while loop == 1:
if analyze.find(wanted) >= 0:
counter += 1
cursor = analyze.find(wanted) + 1
analyze = analyze[cursor:]
else:
break
print(counter)
# edit: Verdammte Einrückungen -.- Warum werden die nicht übernommen??