Mein Problem
An meinem jetzigen Arbeitsplatz pflege ich im Alleingang (ok im Alleingang, weil mir keine Gliedmaßen fehlen) ungefähr 700 Laptops. Aufgrund der Art und Häufigkeit ihrer Verwendung stelle ich häufig fest, dass sie mit ein wenig Schaden zurückgegeben werden. Für dieses Problem ist mein Hauptanliegen, wenn ein Laptop mit einer kaputten oder defekten Tastatur zurückgegeben wird. Wenn der Hardware-Mechaniker diese defekten Tastaturen repariert, müssen sie getestet werden. Bei diesem Test wird jeder ... und ... jeder ... einzelne ... Schlüssel verwendet. Was für ein Widerstand, oder? Das Problem ist, dass ich manchmal den Überblick verliere, ob ich einen Schlüssel eingegeben habe oder nicht.
Eine Lösung?
Schreiben Sie ein Programm / Skript, das:
- Übernimmt Benutzereingaben
- Bestimmt bei der Übermittlung (wie auch immer Sie es für richtig halten), ob jede Taste gedrückt wurde.
- Gibt "Ja" oder "Nein" oder eine andere Art aus, um anzuzeigen, dass es mir gelungen ist, alle Tasten zu drücken oder nicht. (Geben Sie in Ihrer Antwort die zwei möglichen Ausgaben an, wenn dies nicht offensichtlich ist).
Annahmen:
- Großbuchstaben, Kleinbuchstaben, beide? Egal wie Sie es für richtig halten. Solange es sich um [AZ], [az] oder [A-Za-z] handelt. Gleiches gilt für Zahlen und andere Symbole. (Also, wenn =eingetippt wurde, +spielt es keine Rolle). Sie können wählen, ob Sie verschobene Zeichen einfügen möchten oder nicht.
- Sie brauchen sich keine Gedanken über Tabulatoren oder Leerzeichen zu machen
- Es werden keine Funktionstasten, STRG, ALT, Esc oder andere Tasten benötigt, die nichts auf dem Bildschirm ausgeben
- Dies setzt eine EN-US-Tastatur voraus und die Laptops enthalten keinen Nummernblock.
- Betriebssystemunabhängig, egal welche Sprache Sie bevorzugen
- Es spielt keine Rolle, ob die Taste mehrmals gedrückt wurde.
Hier ist ein potenzieller Eingabesatz, der true zurückgibt (oder yes oder "You did it!")
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./
Der Gewinner wird durch die geringste Anzahl von Zeichen bestimmt.
Antworten:
GolfScript, 6 Bytes
Wenn alle ASCII-Zeichen mit Codes zwischen 33 und 127 vorhanden sind, wird 1 ausgegeben. Andernfalls wird 0 ausgegeben.
Dieser Ansatz schlägt fehl, wenn die Eingabe andere Zeichen enthält (einschließlich einer letzten neuen Zeile), was vom OP zugelassen wurde und auch für die vorhandene GolfScript-Lösung gilt.
Verwendung
Wie es funktioniert
quelle
GolfScript, 11
Druckfähiges ASCII ist nicht so interessant ...
Rubin, 68
Mit Flagge
-rset
für 4 Zeichen.und
Python 3, 76
quelle
JavaScript - 62
70Und ein bisschen kürzer:
quelle
CJam - 9
Es prüft auch die "verschobenen" Zeichen (einschließlich Großbuchstaben).
Versuchen Sie es unter http://cjam.aditsu.net/
Hinweis: Nach dem Apostroph befindet sich ein unsichtbares Zeichen (mit Code 127).
quelle
PHP
$_GET['i']
ist der Eingangquelle
$_GET
diese Option , um 1 Zeichen zu speichern, wenn dies zulässig ist.!==false
, um 8 Zeichen zu speichern, und dann die geschweiften Klammern für weitere 4 Zeichen.register_globals
macht das"é$i"
.die(NO)
ist auch möglich.Python 72:
quelle
Haskell, 41 (zwei Lösungen)
oder (Punktefreier Stil)
Müssen Sie mindestens diese Zeichen eingeben:
in beliebiger Reihenfolge und beliebig oft. Zusätzliche Zeichen sind erlaubt. Führen Sie einen Interpreter ein. Wenn Sie fertig sind, müssen Sie die Eingabetaste drücken. Wenn Sie jedoch die Eingabetaste drücken, bevor Sie fertig sind, können Sie weiterhin Zeichen eingeben und die Eingabetaste erneut drücken. Wird gedruckt,
True
wenn Sie jedes Zeichen getroffen haben, andernfalls wird nichts gedruckt.quelle
Perl, 70 Zeichen
Verwendung:
Druckt 1, wenn alle Tastenanschläge vorhanden sind, sonst wird nichts gedruckt.
quelle
C 97 Zeichen
Das Programm muss mit einem Argument aufgerufen werden, das mindestens die Buchstaben enthält:
und bekomme Antwort 1 (wahr). Der Zeichensatz kann geändert werden, indem der Initialisierungswert von a geändert wird.
quelle