Bestimme Werte einer Liste anzeigen

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
nfehren
User
Beiträge: 98
Registriert: Donnerstag 31. Oktober 2013, 15:11

Hallo Leute,
Ich schreibe momentan ein Programm das ich in der Schule mit C# gelernt habe in Python 3 um. Nun habe ich eine Liste mit Temperaturen und soll eine temperatur vom benutzer einholen und nur noch Temperaturen über dieser eingeholten Temperatur ausgeben. Wie kann ich das umsetzen?
BlackJack

@nfehren: Na Du fragst den Benutzer nach dem Temperaturwert und gehst dann die Temperaturen in der Liste durch und gibst jede aus, die über dem eingegebenen Wert liegt. Wo ist denn dabei das konkrete Problem?
nfehren
User
Beiträge: 98
Registriert: Donnerstag 31. Oktober 2013, 15:11

BlackJack hat geschrieben:@nfehren: Na Du fragst den Benutzer nach dem Temperaturwert und gehst dann die Temperaturen in der Liste durch und gibst jede aus, die über dem eingegebenen Wert liegt. Wo ist denn dabei das konkrete Problem?
Soweit hab ich auch schon gedacht aber wie setze ich das um?

Code: Alles auswählen

messwerte = [25.1,25.8,26.3,27.4,28.3,29.8,31.0,33.1,34.2,35.9,38.3,40.7,43.0,45.4,48.8,49.9,52.1,52.9,53.4,53.8,54.2,54.6,54.8,55.1,55.6,56.2,56.9,57.5,58.5,59.7,60.3,62.4,64.6,65.8,66.5,64.3,62.6,61.0,59.4,58.3,56.7,54.9,54.4,53.9,53.5,53.1,52.8,52.6,52.4,52.3]

print("Geben sie eine Temperatur ein und ich zeige ihnen alle Messungen die über dieser Temperatur liegen.\n"
       "(min: {0}, max: {1})".format(min(messwerte), max(messwerte)))
grenze = get_integer("Geben sie die Grenztemperatur ein: ")

(get_integer ist eine kleine funktion von mir die den input eines integers auf Fehler überprüft)
BlackJack

@nfehren: Na Du schreibst einfach eine ``for``-Schleife die über die Elemente der Liste geht. Und in der Schleife gibst Du das Element dann aus falls es grösser als `grenze` ist. Das wirst Du doch in C# genau so gemacht haben, oder nicht? Wenn Du nicht weisst wie man in Python über die Elemente einer Liste iteriert oder Werte vergleicht, oder die Ausführun von Code an eine Bedingung knüpft, solltest Du vielleicht mal ein Grundlagentutorial durcharbeiten.
nfehren
User
Beiträge: 98
Registriert: Donnerstag 31. Oktober 2013, 15:11

Code: Alles auswählen

print("Geben sie eine Temperatur ein und ich zeige ihnen alle Messungen die über dieser Temperatur liegen.\n"
       "(min: {0}, max: {1})".format(min(messwerte), max(messwerte)))
grenze = float(input("Geben sie die Grenztemperatur ein: "))
for i in range(len(messwerte)):
       if messwerte[i] > grenze:
              print(messwerte[i], end=",")
so gut? :)
BlackJack

@nfehren: Nein, das `i` ist überflüssig, man kann über Elemente von Listen *direkt* mit ``for`` iterieren. Dazu braucht man keinen Umweg über einen Index.

Code: Alles auswählen

    temperature_limit = ask_float('Grenztemperatur (in Grad Celsius): ')
    for temperature in temperatures:
        if temperature > temperature_limit:
            print(temperature)
nfehren
User
Beiträge: 98
Registriert: Donnerstag 31. Oktober 2013, 15:11

BlackJack hat geschrieben:@nfehren: Nein, das `i` ist überflüssig, man kann über Elemente von Listen *direkt* mit ``for`` iterieren. Dazu braucht man keinen Umweg über einen Index.

Code: Alles auswählen

    temperature_limit = ask_float('Grenztemperatur (in Grad Celsius): ')
    for temperature in temperatures:
        if temperature > temperature_limit:
            print(temperature)
Ok vielen Dank!

Edit: Wo liegt der unterschied zwischen temperature und temperatures
python21
User
Beiträge: 18
Registriert: Dienstag 21. September 2010, 14:36

In die Variable temperature wird der Wert aus der Liste temperatures übergeben.
Grüße von python 21
(Python 3)
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Blackjack hat sich bewusst für die Verwendung des Plurals bzw. des Singulars entschieden. Das macht es doch eigentlich klar was gemeint ist, oder?
nfehren
User
Beiträge: 98
Registriert: Donnerstag 31. Oktober 2013, 15:11

anogayales hat geschrieben:Blackjack hat sich bewusst für die Verwendung des Plurals bzw. des Singulars entschieden. Das macht es doch eigentlich klar was gemeint ist, oder?
ich glaube nicht das ich gefragt hätte wenn es für mich klar gewesen wäre. Danke für deinen hilfreichen post.
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Es ist mir klar, dass es für die unklar war. Sorry, dass ich mich falsch ausgedrückt habe. Ich wollte damit ausdrücken, dass die Namengebung ein Indiz dafür ist was hinter einem Namen steckt. Temparaturen sind im deutschen Sprachgebrauch nun mal mehr als eine Temparatur. Das ist IMHO in python wesentlich wichtiger als in anderen Programmiersprachen.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

anogayales hat geschrieben:Das ist IMHO in python wesentlich wichtiger als in anderen Programmiersprachen.
Hm... also in C# hätte ich das auch so genannt ;-)

@nfehren: Wie hast Du das denn in C# gelöst? Poste den Code doch ruhig mal hier!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
nfehren
User
Beiträge: 98
Registriert: Donnerstag 31. Oktober 2013, 15:11

Hyperion hat geschrieben:
anogayales hat geschrieben:Das ist IMHO in python wesentlich wichtiger als in anderen Programmiersprachen.
Hm... also in C# hätte ich das auch so genannt ;-)

@nfehren: Wie hast Du das denn in C# gelöst? Poste den Code doch ruhig mal hier!
Den Code hab ich auf meinem privaten Laptop den ich in der Schule benutzen darf aber momentan bin ich im Büro.
Antworten