Häufigkeit mit Python berechnen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
janalina
User
Beiträge: 2
Registriert: Freitag 13. September 2019, 13:13

Hallo liebe Community,

ich bin totale Programmieranfängerin und gerade sehr am verzweifeln, da ich die - wahrscheinlich sehr simple - Aufgabe einfach nicht gelöst bekomme. Wie kann ich mit Hilfe einer for-Schleife die Häufigkeit meiner Zahl, die in einer bestimmten Liste vorkommt, berechnen?

Mein Ansatz (der wahrscheinlich völlig falsch ist):


eigenezahl = int(input("zahl zwischen 0 und 1: ")) # hier soll einfach entweder die 0 oder die 1 eingeben werden.

liste = [0,0,0,0,0,0,0,0,0,1,1,1,1] # eine Auflistung verschieden häufig vorkommender Nullen und Einsen

for zahl in liste:
if eigenezahl == zahl:
print ("die gewählte Zahl ist", eigenezahl)
häufigkeit = (eigenezahl * (len(liste))**-1)*100
print ("der prozentuale Anteil meiner Zahl beträgt", Häufigkeit, "% in der folgenden Liste: " , liste )


ich weiß, dass dieser Ansatz komplett falsch gedacht wurde von mir, aber vielleicht könnt ihr mir sagen, wie es geht.
Danke im Voraus.
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Du könntest count benutzen.

Code: Alles auswählen

liste = [0,0,0,0,0,0,0,0,0,1,1,1,1]


print(liste.count(1))

Code: Alles auswählen

eigene_zahl = int(input("Zahl eingeben: "))



liste = [0,0,0,0,0,0,0,0,1,1,1,1,1]
anzahl_eigene_zahl = liste.count(eigene_zahl)
haufigkeit_in_prozent = (anzahl_eigene_zahl / len(liste))*100
print(f"{haufigkeit_in_prozent}%")
Sirius3
User
Beiträge: 17738
Registriert: Sonntag 21. Oktober 2012, 17:20

Statt die Prozente selbst auszurechnen, sollte man das die String-Formatierung machen lassen:

Code: Alles auswählen

haeufigkeit = liste.count(eigene_zahl) / len(liste)
print(f"{haeufigkeit:.1%}")
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

In deinem Code fehlt etwas;
nämlich der Teil mit dem du die jeweilige Anzahl der Nullen oder Einsen ZÄHLST.
Du prüfst ob ein Element der Liste deiner gewählten Zahl entspricht aber du merkst dir das nicht wenn es denn so ist.
Im weiteren Teil musst du dann mit der gemerkten Anzahl rechnen um den prozentualen Anteil zu ermitteln.
Zeige mal Code wo du das berücksichtigst.
count() ist eine schöne Funktion aber es geht auch ohne.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
janalina
User
Beiträge: 2
Registriert: Freitag 13. September 2019, 13:13

Vielen lieben Dank für eure schnellen Antworten! Ich bin grade leider noch unterwegs aber werde mich morgen mal dran setzen und das versuchen!!
Antworten