Interessantes "Hello World" Interview

8

Wir haben eine Frage, die wir bei Interviews, die so ist, in unserem Büro stellen. Aus Konsistenzgründen beschränke ich den Kontext auf Python. Ich bin mir sicher, dass es andere Antworten gibt, aber ich bin wirklich nur an Python-Antworten interessiert.

Schreiben Sie mir eine Funktion namens say , die, wenn sie so heißt:

%Vor%

Es wird nur gedruckt (nicht zurück):

%Vor%

Nach dem heutigen Interview haben wir eine Metadiskussion geführt, in der ich gesagt habe, dass ich immer hoffe, dass der Bewerber mit folgendem beantwortet:

%Vor%

Ich habe erkannt, dass es eine Möglichkeit gibt, dies weiter zu verkürzen, indem ich die lambda -Funktion durch eine Art von eingebautem Code ersetze, der None zurückgibt, aber ich habe gegraben und kann keinen finden, der kürzer ist lambda a:None

Also ist die allgemeine Frage hier ...

Kannst du dir einen Weg vorstellen, wie du das kürzer machst, wie in weniger Gesamtcharakteren (ignoriere Zeilenumbrüche). Alle Importanweisungen werden in Ihrer Anzahl gezählt. (52 Zeichen)

AKTUALISIEREN

(39 Zeichen)

%Vor%

Python 3 Antwort (48 Zeichen)

%Vor%     
Piper Merriam 10.08.2011, 21:11
quelle

3 Antworten

13

Python 2.x antwortet

Die offensichtliche Antwort, die eigentlich nicht zählt, weil sie die Zeichenfolge zurückgibt, anstatt sie zu drucken:

%Vor%

Dies ist 45 Zeichen Newlines zählen:

%Vor%

Diese Methode löscht es auf 41 Zeichen, aber es sieht irgendwie seltsam aus, da es ein Argument verwendet, aber nicht das andere:

%Vor%

Python 3.x antwortet

36 Zeichen:

%Vor%

38 Zeichen:

%Vor%     
Andrew Clark 10.08.2011, 21:15
quelle
6
%Vor%     
Theran 10.08.2011 21:23
quelle
5

Zumindest in Python 3 ist print eine Funktion, die None zurückgibt, also können Sie dies tun:

%Vor%

oder (einige Zeichen mehr speichern):

%Vor%     
slothrop 10.08.2011 21:24
quelle

Tags und Links