Wie würde der folgende Java Code zur Berechnung eines Kugelvolumens in Python lauten?


08.01.2022, 21:13

Hoppla, da hab ich doch im Eifer des Gefechts klatt vergessen den Code einzufügen :O

Hier der Code:


08.01.2022, 21:18

Die berechnung am Ende soll natürlich nicht in den else-Zweig, sondern außerhalb von der Schleife gemacht werden fällt mir gerade zusätzlich noch auf. Sonst wird das Volumen und der Flächeninhalt ja zweimal ausgegeben, wenn ich eine zweistellige Zahl eingebe.

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die komplette Schleife würde ich rausnehmen und stattdessen die Eingabe direkt in eine Zahl konvertieren.

import math

try:
  radius = float(input())
  volumen = (4 * math.pi * pow(radius, 3)) / 3
  print("Volumen:", volumen)
except ValueError:
  print("No valid number")

Die Oberflächenberechnung kannst du auf dieser Grundlage selbst ergänzen.

Amylee19 
Fragesteller
 08.01.2022, 21:34

Boah krass, vielen Dank, aber ich muss ja auch prüfen, ob der Benutzer auch wirklich eine Zahl eingibt und nichts anderes. Aber vielen Dank, ich glaube den Rest schaffe ich alleine :)

0
regex9  08.01.2022, 21:40
@Amylee19

Dafür ist das try-except-Konstrukt da. Wenn der Typecast nicht gelingt, springt der Programmfluss in den except-Block. In Java wäre stattdessen ein try-catch-Block angemessen.

Im Gegensatz zu deiner Lösung lässt das Programm zudem auch Fließkommazahlen zu.

2
Amylee19 
Fragesteller
 08.01.2022, 21:46
@regex9

Ja, tatsächlich, es ist allerdings nicht meine Hausaufgabe und ich glaube meine Freundin soll es möglichst "einfach" programmieren.

0

Hier ist der entsprechende Python-Code:

import math

radius = 5

volumen = (4.0/3.0) * math.pi * math.pow(radius, 3)

print("Das Volumen der Kugel mit Radius " + str(radius) + " beträgt " + str(volumen) + ".")