print Formatierungen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
duodiscus
User
Beiträge: 97
Registriert: Sonntag 6. April 2014, 16:10

Donnerstag 1. Mai 2014, 13:23

Ich habe ein Programm geschrieben, das den Anwender nach einer Eingabe fragt. Das Programm liefert den Typ der Eingabe zurück.
Seht selbst:

Code: Alles auswählen


            
            print('Die Eingabe war %s und der Typ ist: %s' %(eingabe, typ))

>>> typ_ausgabe()
Eingabe 4
Die Eingabe war 4 und der Typ ist: <class 'int'>
Eingabe 

Ich möchte allerdings den Ausgabetext so formatieren, das <class 'int'> wegfällt und nur noch int dort steht oder halt str, float, boolean etc.
Zuletzt geändert von duodiscus am Donnerstag 1. Mai 2014, 13:46, insgesamt 1-mal geändert.
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Donnerstag 1. Mai 2014, 13:27

Da du schon Code hast, den du hoffentlich nicht produktiv einsetzt (`eval`): Mit `typ.__name__` kommst du direkt an den Namen des Typs.
duodiscus
User
Beiträge: 97
Registriert: Sonntag 6. April 2014, 16:10

Donnerstag 1. Mai 2014, 13:32

Was meinst du mit hoffentlich nicht produktiv einsetzt?
duodiscus
User
Beiträge: 97
Registriert: Sonntag 6. April 2014, 16:10

Donnerstag 1. Mai 2014, 13:47

Danke, dafür. Habe das Problem mit deinem Hinweis aufjedenfall schnell lösen können!
Sirius3
User
Beiträge: 8414
Registriert: Sonntag 21. Oktober 2012, 17:20

Donnerstag 1. Mai 2014, 13:55

@duodiscus: *eval* is *evil* ;-) Ich kann mir aber für den Code auch keinen produktiven Einsatzzweck vorstellen. Statt eines Flags empfehle ich eine while-True-Schleife, die Du mit break verläßt.
Du solltest Deine Beiträge im Forum nicht kaputt machen. Ist schade drum.
Zuletzt geändert von Sirius3 am Donnerstag 1. Mai 2014, 13:58, insgesamt 1-mal geändert.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 1. Mai 2014, 13:57

Weil Daten mit ``input`` oder eval(raw_input(…))`` entgegennehmen eine Sicherheitslücke ist.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten