Programmieren – die besten Beiträge

Flächeninhaltrechner in python funktioniert nicht?

Hallo,

Ich programmiere gerade einen Taschenrechner für Flächeninhalte von Formen, den ich immer weiter erweitere, nur irgendwie läuft der Code nicht, und ich glaube es liegt am else, aber wie geht es richtig?

print("Bitte maße mit . eingeben! Zum Beispiel: c = 3,5 cm Gebe ein: 3.5 bei ganzen Zahlen mit .0 angeben \n Zum Beispiel: 3.0")
print("sie können den Flächeninhalt von folgenden Formen berechnen:")
print("Dreieck, Quadrat, Rechteck, Trapez")


Form = input("Von welcher geometrischen Form wollen Sie die den Flächeninhalt berechnen?")


if Form == "Dreieck":
    print("Dreieck berechnen")
    c = float(input("Bitte maße für Grundlinie angeben"))
    h = float(input("Bitte maße für Höhe oder bei rechtwinkligen Seite neben rechten Winkel angeben"))
    Flächeninhalt = 1/2*c*h



elif Form == "Quadrat":
    print("Quadrat berechnen")
    a = float(input("Bitte die Länge einer Seite angeben"))
    Flächeninhalt = a*a



elif Form == "Rechteck":
    print("Quadrat berechnen...")
    a = float(input("Bitte die Länge einer Seite angeben"))
    b = float(input("Bitte die Länge einer danebenliegenden Seite angeben"))
    Flächeninhalt = a*b


else Form == "Trapez":
    print("Trapez berechnen...")
    a = float(input("Bitte Maße der Grundlinie angeben"))
    c = float(input("Bitte Maße der oberen Linie angeben"))
    h = float(input("Bitte Höhe angeben"))
    Flächeninhalt = 1/2*(a+c)*h



print("Flächeninhalt berechnen...")
print(Flächeninhalt)

Danke

programmieren, Python, Python 3

Java, textdokument in zweidimensionalen Array speichern und ausgeben?

Hey, bei meiner dieswöchigen Informatik Übung müssen wir ein Spielfeld aus einem Textdokument in ein Zweidimensionales Array einlesen und ausgeben.

Ein Textdokument sieht zB so aus:

https://pastebin.com/5CViAyG5

Ich hätte die Aufgabe mit folgendem Code gelöst:

[CODE]

class Input {

public static void main(String[] args) {

Input x = new Input();

x.openup("MazeWithExit_windows.txt");

}

void openup(String fileName) {

In.open(fileName);

int height = In.readInt();

int length = In.readInt();

Out.println("Height: " + height);

Out.println("Length: " + length);

char [][] a = new char[length][height];

for(int i=0;i<a.length;i++) {

for(int j =0;j<a[i].length;j++) {

a[i][j] = In.read();

Out.print(a[i][j]);

}

}

In.close();

}

}

[/CODE]

Die In und Out Klassen müssen wir verwenden.. Out.print statt System.Out.print

Und In hilft beim einlesen.

So, jetzt zum eigentlichen Problem..

Ansich funktioniert der Code, jedoch liest er auch newlines ein, weshalb das Array vorzeitig voll ist und nicht das ganze Spielfeld einliest.

Ausgabe: https://pastebin.com/czTDF2MA

Uns wurde gesagt, man soll einfach ein dummy-read reinmachen, was die newlines einliest und diese somit nicht zum Array hinzugefügt werden. Jemand hat auch gemeint, dass nach der inneren Schleife ein In.readLine(); das Problem löst.

Doch nichts hat mit geholfen.

Wie löse ich das Problem? :o

Computer, Studium, programmieren, Java, Eclipse, Informatik, Programmiersprache

Meistgelesene Beiträge zum Thema Programmieren