2017-03-14 12 views
-6

Wir wissen über die min()-Funktion in Python.
Was ich tun möchte ist, dass der Benutzer eine beliebige Zahl eingeben soll.
Wenn der Eingang 2 ist, muss der Ausgang die Zeichenfolge'min(int, int)' sein. Wenn der Eingang 4 ist, muss der Ausgang 'min(int, min(int, min(int, int)))' sein.Rekursive Zeichenfolge

Beachten Sie, dass ich nicht versuche, den Wert der min Funktion zu berechnen, sondern nur die Strings zu montieren.

+2

Zeigen Sie einige tatsächliche Eingaben und gewünschte Ausgaben, die dieses Verhalten demonstrieren - es wird viel klarer sein, als es in Text zu beschreiben. Dann: Mach dir etwas Mühe, um es selbst zu schreiben, und erkläre, wo du irgendwo feststeckst. – Useless

+1

Was ist die eigentliche Frage hier? –

+0

Wo sind dein Code und deine Versuche, ein Problem zu lösen? – Dmitry

Antwort

1

Der Code kann so gehen:

def minstring (n): 
    if n == 2: 
     return 'min (int, int)' 
    else: 
     return 'min (int, ' + minstring (n - 1) + ')' 

print (minstring (4)) 

Er druckt min (int, min (int, min (int, int))) nach Bedarf.


Beachten Sie, dass die tatsächlichen min function in Python, im Gegensatz zu einigen anderen Sprachen, kann mehr als zwei Argumente: min (x, z, y) ein gültiger Anruf in Python ist.

+0

Ich denke, dass Sie die Absicht von OP herausgefunden haben. Aus irgendeinem Grund sagten sie nie, dass sie eine * string * -Ausgabe wollten. –

+0

Es zeigt einen typeerror der Fehler ist: kann 'str' und 'NoneType' -Objekte nicht verketten – daemon26

+0

@ daemon26 Bearbeitet, damit der Code abgeschlossen und ohne Änderung mit Python 2 & 3 ausführbar ist. Wenn der Fehler auf Ihrer Seite weiter besteht, fragen Sie eine andere Frage und enthalten den Code, der den Fehler reproduziert. – Gassa