Wie löst man diese Pythonaufgabe?
Hi,
ich bin gerade dabei, meine Hausaufgaben zu machen, komme aber leider nicht weiter:
Die Fragestellung lautet:
Erstellen Sie ein Python-Programm, das Sinus, Kosinus und Tangens eines Winkels berechnen kann. Der Anwender soll dabei eine Zahl eingeben können und über ein kleines Menü auswählen, welche Berechnungen erfolgen sollen.
Wenn der Anwender eine ungültige Auswahl trifft, soll als Ergebnis „undefiniert“ ausgegeben werden.
Geben Sie das Ergebnis mit acht Nachkommastellen aus.
" " "
Soweit bin ich bisher gekommen
" " "
import math
operator = input("Wählen Sie Ihren Rechenoperator aus: ")
number = float(input("geben Sie Ihre Zahl ein: "))
print(math.pi)
if math.sin(30):
print(math.sin)
if math.cos(50):
print(math.cos)
if math.tan(40):
print(math.tan)
else:
print("undefiniert")
zahl = 1.23456
print(zahl, "aufgerundet ergibt", math.ceil(zahl))
print(zahl, "abgerundet ergibt", math.floor(zahl))
2 Antworten
Du hast Teile meiner Antwort einfach nur kopiert, aber arbeitest gar nicht damit. Der Anwender soll die Option haben, eine Operation auszuwählen.
Wenn man das gesamte Programm als Konsolenanwendung umsetzt, könnte man dem Nutzer bspw. drei Optionen vorgeben: Drücke 1 wenn Sinus, drücke 2 wenn Cosinus, etc..
Die darauffolgende Eingabe müsstest du prüfen: Wenn Eingabe gleich 1, dann rechne Sinus, wenn Eingabe gleich 2, dann rechne Cosinus, etc.. Wie ich bereits schrieb, helfen an dieser Stelle String-Vergleiche und if-elif-else.
Beispiel für einen String-Vergleich:
word = "tree"
if word == "tree":
print("word is tree")
else:
print("word is not tree")
Dann müsstest du einmal genauer beschreiben, was unklar ist.
Eine Aufgabenlösung könnte einfacher fallen, indem du dir erst ein Struktogramm oder einen Programmablaufplan anlegst (zu beiden Typen gibt es Wikipedia-Artikel), um damit den Ablauf des Programms zu beschreiben. Erst im Anschluss übersetzt du die einzelnen Schritte in Python-Code.
if math.sin(30):
print(math.sin)
bedeutet
wenn das Ergebnis von math.sin(30) nicht null ist,
dann gib math.sin aus
Und das Ergebnis ist: <built-in function sin>
Was du haben willst, ist:
if operator == "sin":
print(math.sin(number))
Übrigens: wenn man im Editor oben rechts auf das Symbol </> klickt, wird die aktuelle Zeile als Programmcode formatiert.
Vielen Dank Schachpapa :), es ist schön immer wieder was neues zu lernen
Viel Dank, doch leider kapiere ich es immer noch nicht