[python-users] Fiese Falle

Daniela Knoll daniela.knoll at gmx.de
Mo Jun 13 14:57:18 CEST 2016


Hallo zusammen,

da es sich bei "-1" und "-2" wegen den
Anführungszeichen eindeutig um Strings handelt,
sind die Antworten in Python2.7 und Python3.4 jeweils
die gleichen und meiner Meinung nach auch korrekt. 
Denn im alphanumerischen
System kommt "-1" vor "-2".

Vielleicht 'mal in dem Zusammenhang diese Syntax hier:
>>> print(max("-1","-(-)2"))
-1
>>> print(max("-(+)1","-(-)2"))
-(-)2

=> Sonderzeichen < Zahlen und "-" > "+"

>>> print(max("-(-)2","-(-)1"))
-(-)2
>>> print(max("-(+)2000000","-(-)1"))
-(-)1

=> "-" > "+" 

Oder habe ich was übersehen?

So was wäre natürlich auch noch möglich:
>>> print(max(int("-2"),-1))
-1

>>> print(max(int("-2"),-(int(-1))))
1


Grüße,
:Daniela




 



> Message: 3
> Date: Sun, 12 Jun 2016 23:14:17 +0200
> From: Michael Kesper <mkesper at schokokeks.org>
> To: python-users at uni-koeln.de
> Subject: Re: [python-users] Fiese Falle
> Message-ID: <575DD0A9.9000508 at schokokeks.org>
> Content-Type: text/plain; charset=utf-8; format=flowed
> 
> Hallo Dirk, hallo zusammen,
> 
> in der Tat:
> 
> Python 2.7.9 / Python 3.4.2:
>  >>> print(min("-1","-2"))
> -1
>  >>> print(max("-1","-2"))
> -2
> 
> Erwartet hätte ich eigentlich eine TypeError Exception.
> 
> Viele Grüße
> Michael



Mehr Informationen über die Mailingliste python-users