type Befehl funktioniert bei Strings nicht
Verfasst: Sonntag 7. Februar 2021, 19:02
Hey alle miteinander,
Ich möchte gerne mit dem Programmieren von Python anfangen und deswegen habe ich mir das Buch "Python 3 Programmieren für Einsteiger" von Michael Bonacina gekauft.
In dem Buch gibt es nach jedem Kapitel Aufgaben, um das gelernte zu wiederholen. Jetzt habe ich eine Aufgabe bei der bei mir ein Fehler auftaucht und ich etwas nicht verstehe, obwohl ich es genauso wie in der Lösung angegeben ausprobiert habe. Der Code ist:
inhalt = eval(input("GEBEN SIE ETWAS EIN: "))
print ("Datentyp: ", type (inhalt))
input()
An sich funktioniert das Programm auch, wenn ich aber eine Zeichenkette eingebe, zum Beispiel "Hallo", dann schließt sich das cmd-Fenster einfach, alle anderen Datentypen hingegen funktionieren. Meine zweite Frage wäre dann, was macht eval genau? Ich habe gelesen dass es ein Sicherheitsrisiko darstellt, zwar nicht wenn man das Programm nur Privat nutzt, trotzdem würde ich das gerne weglassen. Wie kann ich das machen? Oder ist es ohne eval nicht möglich bzw sehr kompliziert zu machen?
Wie gesagt, ich bin ein kompletter Anfänger, deswegen entschuldigt die vielleicht unnötige Frage, ich möchte aber Python verstehen. Könnt ihr mir helfen?
Vielen lieben Dank schonmal,
Gruss
Ich möchte gerne mit dem Programmieren von Python anfangen und deswegen habe ich mir das Buch "Python 3 Programmieren für Einsteiger" von Michael Bonacina gekauft.
In dem Buch gibt es nach jedem Kapitel Aufgaben, um das gelernte zu wiederholen. Jetzt habe ich eine Aufgabe bei der bei mir ein Fehler auftaucht und ich etwas nicht verstehe, obwohl ich es genauso wie in der Lösung angegeben ausprobiert habe. Der Code ist:
inhalt = eval(input("GEBEN SIE ETWAS EIN: "))
print ("Datentyp: ", type (inhalt))
input()
An sich funktioniert das Programm auch, wenn ich aber eine Zeichenkette eingebe, zum Beispiel "Hallo", dann schließt sich das cmd-Fenster einfach, alle anderen Datentypen hingegen funktionieren. Meine zweite Frage wäre dann, was macht eval genau? Ich habe gelesen dass es ein Sicherheitsrisiko darstellt, zwar nicht wenn man das Programm nur Privat nutzt, trotzdem würde ich das gerne weglassen. Wie kann ich das machen? Oder ist es ohne eval nicht möglich bzw sehr kompliziert zu machen?
Wie gesagt, ich bin ein kompletter Anfänger, deswegen entschuldigt die vielleicht unnötige Frage, ich möchte aber Python verstehen. Könnt ihr mir helfen?
Vielen lieben Dank schonmal,
Gruss
