Tutorials  /  Python

Swift readLine() und Swift print()

Ccentron Redaktion · Januar 2024 ·4 Min. Lesezeit ·Python, Tutorial

Einführung

In diesem Tutorial werden wir besprechen, wie man die Standard-Eingabe in Swift vom Benutzer liest und die verschiedenen Möglichkeiten, die Ausgabe auf den Bildschirm zu drucken. Swift print() ist die Standardfunktion, um eine Ausgabe auf dem Bildschirm anzuzeigen. Lassen Sie uns beginnen, indem wir ein neues Kommandozeilenanwendungsprojekt in XCode erstellen.

VM

Passende Infrastruktur bei centron

Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →

Swift-Eingabe

In Swift ist die Standard-Eingabe in Playgrounds nicht möglich. Auch nicht in iOS-Anwendungen aus offensichtlichen Gründen. Eine Kommandozeilenanwendung ist der mögliche Weg, um Eingaben vom Benutzer zu lesen. readLine() wird verwendet, um die Eingabe vom Benutzer zu lesen. Es hat zwei Formen:

  • readLine() : Die Standardmethode.
  • readLine(strippingNewLine: Bool) : Dies ist standardmäßig auf true gesetzt. Swift geht immer davon aus, dass der Zeilenumbruch kein Teil der Eingabe ist

Die readLine()-Funktion gibt standardmäßig immer einen optionalen String zurück. Fügen Sie die folgende Zeile in Ihre main.swift-Datei ein.

Python
let str = readLine() //assume you enter your Name
print(str) //prints Optional(name)

Um das optionale Element auszupacken, können wir den folgenden Code verwenden:

Python
if let str = readLine(){
    print(str)
}

Einlesen eines Int oder eines Float

Um die Eingabe als Int oder Float zu lesen, müssen wir den zurückgegebenen String aus der Eingabe in einen dieser Typen umwandeln.

Python
if let input = readLine()
{
    if let int = Int(input)
    {
        print("Entered input is \(int) of the type:\(type(of: int))")
    }
    else{
        print("Entered input is \(input) of the type:\(type(of: input))")
    }
}

Für Float ersetzen Sie den Int-Initialisierer durch Float.

Lesen mehrerer Eingaben

Der folgende Code liest mehrere Eingaben und prüft auch, ob eine der Eingaben wiederholt wird.

Python
while let input = readLine() {
    guard input != "quit" else {
        break
    }
    
    if !inputArray.contains(input) {
        inputArray.append(input)
        print("You entered: \(input)")
    } else {
        print("Negative. \"\(input)\" already exits")
    }
    
    print()
    print("Enter a word:")
}

Die guard let-Anweisung wird verwendet, um die Schleife zu verlassen, wenn eine bestimmte Zeichenfolge eingegeben wird. Die print()-Funktion gibt wie üblich die Ausgabe auf dem Bildschirm aus. Die aktuelle Eingabe wird im Array überprüft; wenn sie nicht existiert, wird sie hinzugefügt. Ein Beispiel für das Ergebnis des obigen Codes, wenn er in der Kommandozeile in Xcode ausgeführt wird, ist unten gegeben.

Eingabe getrennt durch Leerzeichen lesen

Der folgende Code liest die Eingaben in Form eines Arrays, das durch Leerzeichen getrennt ist.

Python
let array = readLine()?
    .split {$0 == " "}
    .map (String.init)

if let stringArray = array {
    print(stringArray)
}

Die Split-Funktion dient als Trennzeichen für Leerzeichen. Sie teilt die Eingabe durch Leerzeichen und ordnet jedes davon als einen String zu. Schließlich werden sie in Form eines Arrays zusammengefügt.

Lesen eines 2D-Arrays

Der folgende Code liest ein 2D-Array.

Python
var arr = [[Int]]()
for _ in 0...4 {
    var aux = [Int]()

    readLine()?.split(separator: " ").map({
        if let x = Int($0) {
        aux.append(x)
        }
        else{
            print("Invalid")
        }
    })
    arr.append(aux)
}

print(arr)

Im obigen Code können wir 4 Unterarrays innerhalb eines Arrays erstellen. Wenn wir zu irgendeinem Zeitpunkt Enter drücken, ohne in der Zeile etwas einzugeben, wird dies als leeres Unterarray behandelt.

Swift print()

Wir haben oft die print()-Anweisung in unseren Standardausgaben verwendet. Die Print-Funktion sieht eigentlich so aus: print(_:separator:terminator:). Die print()-Anweisung wird standardmäßig von einem Zeilenumbruch-Terminator gefolgt.

Python
print(1...5) //// Prints "1...5"
print(1.0, 2.0, 3.0, 4.0, 5.0) //1.0 2.0 3.0 4.0 5.0
print("1","2","3", separator: ":") //1:2:3

for n in 1...5 { print(n, terminator: "|") } //prints : 1|2|3|4|5|

print("1","2","3", separator: ":") //1:2:3

for n in 1...5 { print(n, terminator: "|") } //prints : 1|2|3|4|5|

  • Der Terminator wird am Ende jeder Print-Anweisung hinzugefügt.
  • Der Separator wird zwischen den Ausgabewerten hinzugefügt.

String mit Werten verketten

Wir verwenden \(value_goes_here), um Werte in einen String einzufügen.

Python
var value = 10
print("Value is \(value)") // Value is 10

Damit endet dieses Tutorial über Swift Standard Eingabe und Ausgabe.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Python
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren