2017-11-26 4 views
1

Ich habe daran etwa 30 min vor dem Posten gearbeitet. Ich bin neu im Codieren.Formatieren von mehrzeiligen Strings in Python

Mit diesem Pseudocode: „Wollen Sie die Quadratwurzel einer Zahl finden mögen“
1 Declare Nummer als Float
2 Declare Wurzel als Float
3 Declare Antwort als Character
4 schreiben
5 schreiben Sie „Enter 'y' für ja, 'n' für nicht:„


Was ich codiert haben:

Response = str(input('Do you want to find the square root of a number? \ 
     Enter y for yes, n for no: ')) 

Ausgabe im PyCharm Run-Fenster:

Möchten Sie die Quadratwurzel einer Zahl finden? Geben Sie y für ja, n für nein ein:

Format Ergebnis gesucht:
Möchten Sie die Quadratwurzel einer Zahl finden?
Geben Sie y für ja, n für nein ein:

Vielen Dank.

+0

Alles, was Sie tun müssen, ist ein '\ n' anstelle eines' \ ' – RottenCandy

Antwort

2

Sie können einen Zeilenumbruch mit \n drucken.

Beispiel:

Response = input('Do you want to find the square root of a number?\nEnter y for yes, n for no: ') 

Ausgang:

Do you want to find the square root of a number? 
Enter y for yes, n for no: 
0

Sie müssen \n hinzufügen nicht nur \. N repräsentiert die 'neue Linie'.

1

Ihr fast da. Sie haben gerade ein '\ n' in Ihrer Zeichenfolge verpasst, das Sie drucken möchten. Dies druckt die Zeichenfolge im richtigen Format:

Response = str(input('Do you want to find the square root of a number?\nEnter y for yes, n for no: ')) 
+0

Das Ergebnis von' input() 'in' str() 'zu übergeben ist nicht notwendig, da' input() 'eine' string' zurückgibt Umwandlung ist absolut. Interessanterweise, welchen Datentyp hat 'input() 'zurückgegeben? –

+0

In Python 3.x Eingabe funktioniert wie raw_input(), die immer eine Zeichenfolge zurückgibt. Aber in python 2.7 gibt input() den Typ des Typs des Ausdrucks zurück, den der Benutzer eingibt. Es ist besser, raw_input() anstelle von input() in Python 2.7 zu verwenden. Es wurde nichts über die verwendete Version von Python erwähnt, daher denke ich, dass es besser ist, das str() zu haben, wenn es Python2.7 ist. Wenn es Python 3.0 ist, ist str() nicht erforderlich. – sasi

1

Sie könnten einen newline Zeichen verwenden wie gesagt von @MikeScotty, oder Sie können die Nachricht zunächst mit einem multi-linestring definieren. Dies macht das Ändern und Erstellen der Nachricht einfacher als das Eintippen von \n immer und immer wieder.

Um dies zu tun, verwenden Sie triple-quotedstrings:

m = """Do you want to find the square root of a number? 
Enter y for yes, n for no: """ 

und dann können Sie einfach tun:

input(m) 

, die dem Anwender auffordern würde:

Do you want to find the square root of a number? 
Enter y for yes, n for no: [their entry ready here] 

Natürlich brauchen Sie nicht m (die Botschaft) separat zu definieren, können Sie einfach schreiben, dass triple-quotedstring direkt als Parameter für input, aber die Dinge beginnen kann ein bisschen zu bekommen chaotisch:

Response = input("""Do you want to find the square root of a number? 
Enter y for yes, n for no: """) 
+0

genial! Danke, dass du mir einen anderen Weg gezeigt hast, dies zu tun. Je mehr Werkzeuge, desto besser! – Runferurlife

Verwandte Themen