Das Ziel ist es, eine Liste aus dem Absatz des Benutzers zu erstellen und zu iterieren, damit ich zählen kann, wie viele Wörter spezielle Buchstaben "j, x, q, z" enthalten.
Beispieleingabe:
In einem Loch im Boden lebte ein Hobbit. Weder ein böses, schmutziges, nasses Loch, gefüllt mit den Enden von Würmern und einem nassen Geruch, noch ein trockenes, nacktes, sandiges Loch, in dem sich nichts zum Sitzen oder Essen befindet; Es war ein Hobbit-Loch, und das bedeutet Komfort.
Beispielausgabe: 1 Wort mit einem seltenen Zeichen
Ich habe den Code gestartet, in dem ich den Absatz des Benutzers in eine Liste aufteile, aber es fällt mir schwer, die Liste zu durchlaufen und jede Instanz der Sonderbuchstaben zu finden.
Das habe ich bisher:
def rareChar(words):
rareWords = 0
rareChars = ['j', 'x', 'q', 'z']
for astring in words:
wds = words.split()
for char in wds:
if char in rareChars:
rareWords = rareWords + 1
return rareWords
def CoolPara(words):
print(rareChar(words), 'word(s) with a rare character')
# DO NOT CHANGE CODE BELOW
print(CoolPara(input("Enter: ")))
Wenn ich mit der Beispieleingabe laufe, erhalte ich eine Ausgabe von '0 Wörtern mit einem seltenen Zeichen'. Wie könnte ich das beheben, damit ich die erwartete Ausgabe bekomme? Jede Hilfe wäre sehr dankbar, da ich noch relativ neu in der Codierung bin
Auch ein kurzer Hinweis: Ich darf nur die Methoden / Funktionen von split () und Len () verwenden.
quelle
.index
sollte den Job machenfor astring in words:
?Antworten:
Vielleicht könnte dies eine Gelegenheit sein, Ihnen einige Python-Funktionen vorzustellen:
Diese Antwort verwendet:
str
in dercool_para
Funktion zurückgegeben, da der Code unter dem# DO NOT CHANGE CODE BELOW
Kommentar das Ergebnis des Funktionsaufrufs druckt.quelle
rare_chars()
zufind_rare_words()
statt.Idealerweise möchten Sie das Listenverständnis verwenden.
Dies gibt Ihnen:
quelle
Eingabe: Hallo, das ist ein Satz über Zoos
Ausgabe: 1 Wort (e) mit einem seltenen Zeichen
quelle
Der folgende Code ist eine Bearbeitung von Ihnen, die zur richtigen Antwort von führt
1
Antworten:
quelle
Dieser Code funktioniert für Sie. Entfernen Sie die eingegebenen Wörter und notieren Sie die Zeichenfolgenanweisung, mit der ich den Code getestet habe.
Die para-Methode wird nicht benötigt.
quelle
Die von Barb bereitgestellte Lösung funktioniert für einen einzelnen Buchstaben:
Es funktioniert jedoch nicht mit mehreren Zeichen, wie vom Originalplakat gefordert. Zum Beispiel liefert dies nicht die richtigen Ergebnisse:
Hier ist eine leicht verbesserte Version von Barbs Lösung:
quelle