Seite 1 von 1

Exceptions bei einer Eingabe

Verfasst: Montag 22. November 2021, 17:48
von Atakan2000
Hallo Leute,

ich muss in einer Aufgabenstellung von der Konsole eine Eingabe einlesen, diese Eingabe wird dann in eine Ganzzahl konvertiert. Beim Konvertieren soll man eventuelle Exceptions abfangen falls sie nicht in eine Ganzzahl konvertierbar ist. Ansonsten wird die Eingabe in einer Liste abgespeichert. Das muss sich dann solange wiederholen bis die Liste 10 Elemente hat. Bis jetzt habe ich das hier aufgeschrieben jedoch scheint dies nicht ganz zu stimmen.

import numpy as np

try:
liste = []
for i in range(10):
liste.append(int(input()))
except ValueError:
print("Keine Ganzzahl")

arr = np.array(liste)

x = arr[1:10:2]
erg = 2*np.cos(x)
summe = print(np.sum(erg))

wenn ich im Programm eine nicht Ganzzahl eingebe bricht er automatisch ab, jedoch sollte er glaube ich weiter nach der Eingabe fragen dies klappt bei mir jedoch nicht.
Kann mir in diesem Fall evtl. jemand helfen?

Re: Exceptions bei einer Eingabe

Verfasst: Montag 22. November 2021, 17:51
von __deets__
Du solltest mit Funktionen arbeiten. Schreib dir eine Funktion, welche dir eine Zahl einliest. Und die benutzt du dann 10 mal, und baust deine Liste auf.

Die Funktion muss dann auch mit einer Endlosschleife arbeiten, denn eine Ausnahme abfangen alleine sagt ja nicht magisch "oh, dann mach das alles doch nochmal" - das musst du schon programmieren.

Re: Exceptions bei einer Eingabe

Verfasst: Montag 22. November 2021, 18:20
von Atakan2000
__deets__ hat geschrieben: Montag 22. November 2021, 17:51 Du solltest mit Funktionen arbeiten. Schreib dir eine Funktion, welche dir eine Zahl einliest. Und die benutzt du dann 10 mal, und baust deine Liste auf.

Die Funktion muss dann auch mit einer Endlosschleife arbeiten, denn eine Ausnahme abfangen alleine sagt ja nicht magisch "oh, dann mach das alles doch nochmal" - das musst du schon programmieren.
wie meinst du mit einer Endlosschleife? Als Funktion habe ich nun das hier:
def eingabe_einlesen(zahl):
int(input())
return zahl

Re: Exceptions bei einer Eingabe

Verfasst: Montag 22. November 2021, 18:25
von __deets__
Na wenn du so lange einlesen sollst, bist der Benutzer eine gueltige Zahl eingegeben hat - dann musst du nunnmal endlos of probieren, eine Eingabe zu bekommen. Denn der kann sich ja endlos oft (ok, nur bis zum Ende des Universums, aber das ist recht lang) verschreiben.

Re: Exceptions bei einer Eingabe

Verfasst: Montag 22. November 2021, 18:27
von Sirius3
Du hast doch schon die Lösung beschrieben: "Das muss sich dann solange wiederholen bis die Liste 10 Elemente hat."
Und "solange" wird mit "while" ins Englische übersetzt.