Zähle Vokale in String Python

8

Ich versuche zu zählen, wie viele Vorkommen von bestimmten Zeichen in einer Zeichenfolge vorhanden sind, aber die Ausgabe ist falsch.

Hier ist mein Code:

%Vor%

Wenn ich den Buchstaben A eingeben würde, wäre die Ausgabe: 1 1 1 1 1

    
user2975192 14.11.2013, 00:05
quelle

19 Antworten

11

Was Sie wollen, können Sie ganz einfach so machen:

%Vor%

Falls Sie sie nicht kennen, finden Sie hier eine Referenz auf map und eine auf der * .

    
iCodez 14.11.2013 00:07
quelle
7
%Vor%     
inspectorG4dget 14.11.2013 00:07
quelle
5

Verwenden Sie eine Counter

%Vor%

Counter ist nur in Python 2.7+ verfügbar. Eine Lösung, die in Python 2.5 funktionieren sollte, wäre defaultdict

%Vor%     
Prashant Kumar 14.11.2013 00:07
quelle
5
%Vor%

(Merken Sie sich den Abstand s)

    
hanish 17.09.2014 07:52
quelle
4

if A or a in stri bedeutet if A or (a in stri) , was if True or (a in stri) ist, was immer True ist, und dasselbe für jede Ihrer if -Anweisungen.

Was Sie sagen wollten, ist if A in stri or a in stri .

Das ist dein Fehler. Nicht die einzige - Sie zählen nicht wirklich Vokale, da Sie nur überprüfen, ob die Zeichenfolge sie einmal enthält.

Das andere Problem ist, dass Ihr Code bei weitem nicht der beste Weg ist, dies zu tun. Sehen Sie sich zum Beispiel Folgendes an: Zähle Vokale aus der Roheingabe . Dort finden Sie ein paar nette Lösungen, die für Ihren speziellen Fall leicht angepasst werden können. Ich denke, wenn Sie die erste Antwort im Detail durchgehen, werden Sie in der Lage sein, Ihren Code korrekt zu schreiben.

    
sashkello 14.11.2013 00:07
quelle
4
%Vor%     
kyle k 14.11.2013 02:29
quelle
1

Verwenden Sie zur Verkürzung und Lesbarkeit ein Wörterbuchverständnis.

%Vor%

Alternativ können Sie ein benanntes Tupel berücksichtigen.

%Vor%     
timgeb 17.01.2016 11:52
quelle
1
%Vor%     
Benjamin Tunney 07.10.2016 18:37
quelle
1

Ich habe einen Code zum Zählen von Vokalen geschrieben. Sie können damit jedes Zeichen Ihrer Wahl zählen. Ich hoffe das hilft! (In Python 3.6.0 kodiert)

%Vor%     
Reuben Perry 13.01.2017 19:24
quelle
0
%Vor%     
azaz 11.07.2016 04:12
quelle
0
%Vor%     
Rishith Poloju 03.10.2016 13:09
quelle
0

string1 = 'Ich liebe mein Indien' Vokal = 'aeiou' für i in Vokal:   Drucken Sie i + "- & gt;" + str (string1.count (i))

    
Rohitendu Mishra 28.05.2017 16:39
quelle
0

Für jeden, der die einfachste Lösung sucht, hier ist der eine

%Vor%
    
Keith lam 15.09.2017 19:06
quelle
0

Das funktioniert bei mir und zählt auch die Konsonanten (denke an einen Bonus), aber wenn Sie wirklich keine Konsonanten zählen wollen, müssen Sie nur die letzte for-Schleife und die letzte Variable löschen die Spitze.

Sie ist der Python-Code:

%Vor%     
James Mccannon 27.09.2017 18:03
quelle
0
%Vor%     
david clark 24.11.2017 22:26
quelle
0
%Vor%     
GK Mali 03.03.2018 06:21
quelle
-1
%Vor%     
avina k 23.06.2015 03:34
quelle
-1
%Vor%     
Simanto Bagchi 03.09.2015 08:17
quelle
-1
%Vor%     
user6143812 01.04.2016 07:38
quelle

Tags und Links