Geben Sie eine Nummer ein und geben Sie den Wochentag zurück

8

Nicht auf eine Programmiersprache beschränkt.

Was ich sage ist, dass Sie 1 übergeben und es Montag zurückgibt, 7 entspricht Sonntag und so weiter.

Ich habe eine 146-Byte-Anweisung in Java verwaltet, um dasselbe zu tun.

return (n<1?"invalid":(n<2?"monday":(n<3?"tuesday":(n<4?"wednesday":(n<5?"thursday":(n<6?"friday":(n<7?"saturday":(n<8?"sunday":"invalid"))))))));

Ihr Programm sollte:

  • vollständige Wörter ausgeben (STDOUT)
  • Nicht abstürzen, wenn die Eingabe kleiner als 1 oder größer als 7 ist
CrazyMod
quelle
6
Ich kann nicht wissen, wofür andere Leute abstimmen, aber ich würde erwarten, dass die Leute die Verwendung des "Beliebtheitswettbewerbs" für eine Frage, die nur eine Golffrage ist, nicht mögen. Im Allgemeinen wird der Beliebtheitswettbewerb für Fragen verwendet, bei denen es keinen objektiven Weg gibt, einen Gewinner zu bestimmen.
Trichoplax
9
Diese Frage kann nicht mit sich selbst übereinstimmen, was die Leute schreiben sollen. Eine Anweisung, die Eingaben in einer Variablen findet und diese zurückgibt, oder ein Programm, das in stdout schreibt? (Es ist auch eine bizarre Verwendung des Beliebtheitswettbewerbs, der, wenn er sich durchsetzt, viel dazu beitragen kann, denen zu helfen, die das Tag vollständig töten wollen).
Peter Taylor
2
Sie lernen, was funktioniert und was eine gute Frage ausmacht, indem Sie genau wie Sie Fragen stellen und Feedback erhalten. Ich persönlich fand diese Frage zu einfach, um eine interessante Herausforderung zu stellen, aber Sie haben bereits 3 Antworten in nur einer halben Stunde, was zeigt, dass es schwer zu erraten ist, was eine gute Herausforderung ausmacht, bis Sie sie stellen. Mit dem neuen Ruf, den Sie durch diese Frage erhalten, können Sie in Kürze die Sandbox verwenden , um Feedback zu Ideen zu erhalten, bevor Sie sie veröffentlichen.
Trichoplax
2
Beachten Sie, dass Fragen standardmäßig sprachunabhängig sind. Sie müssen nicht angeben, dass sie nicht auf eine Programmiersprache beschränkt sind.
Trichoplax
2
Die Frage besagt, dass Sie in stdout ausgeben sollten, aber die akzeptierte Antwort tut dies nicht und setzt sogar die Existenz einer Variablen voraus. Müssen wir auch ausgeben, invalidwenn die Eingabe ungültig ist? Die Frage besagt das nicht, aber das Beispiel legt dies nahe.
Nyuszika7h

Antworten:

8

Ruby, 69 oder 38 Bytes

Hier ist eine einfache Möglichkeit, Ihren Code zu verbessern (in Ruby geschrieben, funktioniert aber in Java ähnlich):

n>0&&n<8?%w{Mon Tues Wednes Thurs Fri Satur Sun}[n-1]+"day":"Invalid"
  • Kombinieren Sie die beiden ungültigen Schecks zu einem.
  • Fügen Sie alle Tage in ein Array ein und verwenden Sie es nals Index.
  • Berücksichtigen Sie das Gemeinsame day.

Sie können es noch kürzer machen, wenn Sie die Namen der Wochentage aus einer Bibliothek wie Ruby's importieren:

n>0&&n<8?Date::DAYNAMES[n%7]:"Invalid"

Beachten Sie, dass ich jetzt dekrementieren nicht , nsondern nehmen es Modulo 7 zur Karte 7zu 0. Dies liegt daran, dass DAYNAMESmit Sonntag beginnt.

Martin Ender
quelle
Gah, ich wollte gerade eine Lua-Version derselben Sache veröffentlichen (außer, dass sie ungefähr 100 Zeichen länger sein würde) ...
Kyle Kanos
Verdammt, ich habe überhaupt nicht an Arrays gedacht. Ich war so in Ternär verwickelt, dass ich nicht realisiert hatte, dass ich die beiden zusammenführen konnte. tolle!
CrazyMod
Können Sie in Ruby n> 0 & n <8 (Entfernen des zweiten &) ausführen? Ich weiß, dass das in Java funktioniert.
Bmarks
@bmarks Es sieht so aus, als ob Sie es aufgrund von Vorrang nicht haben können, zumindest vor Ruby 2.0 (ich habe hier momentan keinen Ruby 2.x-Interpreter).
Martin Ender
1
21 in Rebmu ... :-)
HostileFork sagt, vertraue nicht SE
9

Bash: 47 Bytes

Immer noch kein Bash-Eintrag? Ich bin enttäuscht ...

case $1 in
    [1-7]) date -d "14-08-1$1" +%A
esac

Es verwendet die Tage der aktuellen Woche und ersetzt einfach die letzte Ziffer (11.-17. August 2014 - 11 ist Montag, 12 ist Dienstag usw.).

yasen
quelle
Wow, was für eine clevere Lösung! Die harte Codierung eines Datums dafür ist brillant!. Gibt es keine Möglichkeit für das Datumsformat, nur '8' als Monat zu akzeptieren? Und dann können Sie ein Monat / Jahr-Paar finden, bei dem das erste ein Montag ist.
Cruncher
Vielen Dank! date -d $1sept +%Afunktioniert auch (allerdings nur in diesem Jahr; reduziert die Bytes auf 6 * 9). GNU dateist in dieser Hinsicht sehr flexibel, daher sollte es zusätzliche Möglichkeiten geben.
Yasen
Wenn Sie dies als Antwort für dateBash posten , sind es nur 14-08-1$19 Bytes!
Ingo Bürk
Es sind 46 Bytes, zählen Sie nicht die nachfolgende Newline;
Nyuszika7h
Nun, mehr als 2 mal kürzere Version :): codegolf.stackexchange.com/a/36424/11887 .
Avall
6

Marbelous 192 191 185 181

}0
=1=2=3=4=5=6=7--
&1&2&3&4&5&6&7{0
&8////////////
4D6F6E547565735765646E65735468757273467269536174757253756E646179
&1&1&1&2&2&2&2&3&3&3&3&3&3&4&4&4&4&4&5&5&5&6&6&6&6&6&7&7&7&8&8&8

Exit-Code ungleich Null, wenn die Eingabe ungültig ist

Verwendungszweck:

# marbelous.py -r day-of-week.mbl 2
Tuesday
Sparr
quelle
6

Javascript, 95 88 Bytes

x=prompt();alert("Invalid 0Mon0Tue0Wednes0Thurs0Fri0Satur0Sun".split(0)[x&~7?0:x]+"day")

7 in binär ist 0111, was bedeutet, dass Sie einige Zeichen mit einer bitweisen Operation anstelle von rasieren können x>0&&x<8.

Bearbeiten: Das sArray wurde mit Hilfe von edc65 entfernt .

Sean Latham
quelle
Das ist eine nette Methode!
CrazyMod
1
Ordentliche Methode in der Tat. 1) Ich zähle 95 Bytes, nicht 97. 2) Sie brauchen keine Anzeigenvariable und können 88:x=prompt();alert("Invalid 0Mon0Tue0Wednes0Thurs0Fri0Satur0Sun".split(0)[x&~7?0:x]+"day")
edc65
Ah, das ist klug! Ich werde meinen Beitrag jetzt aktualisieren.
Sean Latham
5

C # - 26 Bytes

Erwartet, dass der Tag im Inneren gespeichert wird n.
Stürzt nicht wie erwartet ab.
Unterstützt von LINQPad ™

((DayOfWeek)(n%7)).Dump();

Besonderer Dank geht an bmarks und Stephan Schinkel für das Speichern von Bytes bzw. das Biegen von Regeln

William Barbosa
quelle
Können Sie das zweite & in der Bedingung entfernen? Ich denke nicht, dass hier eine Kurzschlussbewertung notwendig ist.
Bmarks
@bmarks Sie sind richtig, danke
William Barbosa
1
In der Frage wird nicht erwähnt, dass "Ungültig" zurückgegeben werden soll. Sie besagt lediglich, dass das Programm nicht abstürzen sollte. Sie können also return ((DayOfWeek) (i% 7)) schreiben. ToString (); (37 Zeichen)
Stephan Schinkel
@StephanSchinkel Ja, ich denke du hast recht
William Barbosa
2

C #, 95 Bytes

In C # können Sie so etwas tun:

return(i>7||i<0)?"invalid":new[]{"mon","tues","wednes","thurs","fri","satur","sun"}[i-1]+"day";
sm.abdullah
quelle
Bei der Überprüfung der Grenzen ist ein Fehler aufgetreten. Sie müssen dies überprüfen i<1, und Sie können 2 Byte sparen, indem Sie |statt ||(nicht kurzschließen) die Klammern um die Bedingung entfernen. Es ist auch kürzer, eine Zeichenfolge zu erstellen und zu teilen, " mon tues wednes thurs fri satur sun".Split()[i]als ein Array von Zeichenfolgen dieser Größe zu erstellen (beachten Sie das Leerzeichen am Anfang der Zeichenfolge, wodurch das Subtrahieren von 1 von i erspart wird)
VisualMelon
2

Erweiterter BrainFuck : 104

{a))<(->>}+>,49-(-(-(-(-(-((-)<->>|"sun")<(->>|"satur"&a|"fri"&a|"thurs"&a|"wednes"&a|"tues"&a|"mon")|"day"

Ungolfed (idiomatisch)

{main 
  :flag +
  :input

  $input &read_number -
  (-
   (-
    (-
     (-
      (-
       (        $input &reset  ; 7-9
                $flag  &reset
                |"sun" &reset )

        $flag ( &reset         ; 6 
                |"satur" &reset  ))

       $flag (  &reset         ; 5
                |"fri" &reset    ))

      $flag (   &reset         ; 4
                |"thurs" &reset  ))

     $flag (    &reset         ; 3
                |"wednes" &reset ))

    $flag (     &reset         ; 2
                |"tues" &reset   ))

   $flag (      &reset         ; 1
                |"mon" &reset    )

   |"day"
}
{reset (-)}
{read_number , 48- }

;; call main
&main
Sylwester
quelle
2

T-SQL 36

SELECT DATENAME(w,@+6)WHERE(6+@)/7=1

Angenommen, die Variable ist in @ gespeichert. Wenn es sich um eine ungültige Eingabe handelt (@> 7 oder @ <1), wird nichts ausgewählt.

Bearbeiten: Anscheinend kann ein Datum eine Zahl sein. Damit wurden 5 Zeichen entfernt.

Bearbeiten 2: Basierend auf der ersten Bearbeitung. Da es ein int ist, muss ich DATEADD () nicht verwenden; Ich kann stattdessen normale Addition verwenden.

bmarks
quelle
2

Javascript 93 :(

q=prompt();alert(q<8&&q>0?'0mon0tues0wednes0thurs0fri0satur0sun'.split(0)[q]+'day':'invalid')
Kevin L.
quelle
Warum genau haben Sie q && q <8 verwendet?
CrazyMod
q && qq <8 prüft, ob q zwischen 1 und 7 liegt
Kevin L
1
Was passiert , wenn qist -5?
Türknauf
:( aber das sind zusätzliche 2 Bytes für> 0. Mit ipis Bit-Trick behoben, spart auch 2 Bytes
Kevin L
Funktioniert es mit q == 0?
edc65
2

Lua - 57 Bytes

print(n>0 and n<8 and os.date("%A",9e4*(n+3))or"Invalid")

Lua hat os.date () in seiner Standardbibliothek und es hat Formatierung. Sie können also eine Zeit vertreiben (in diesem Fall "9e4 * (n + 3)") und das Format "% A" zurückgeben, das die Namen der Wochentage sind. Sehr nützlich in Lua ist auch "a und b oder c". Wenn a wahr ist (im Code a ist "n> 0 und n <8"), gibt es b zurück, wenn a falsch (oder nil) ist, gibt es c zurück.

AndoDaan
quelle
1
Können Sie eine Erklärung geben?
Cruncher
1
Das OP bat ausdrücklich um Fehlerbehandlung, obwohl dies ziemlich vage war. Bitten Sie das nächste Mal um Klarstellung, bevor Sie eine unvollständige Antwort veröffentlichen.
Rainbolt
1
Ich denke nicht, dass der Platz danach %Anotwendig ist
Kyle Kanos
@ KyleKanos Richtig, du bist. Vielen Dank!
AndoDaan
2

Mathematica 19 16 Bytes

DayName@{1,1,#}&

Wie Dr. Rebmu feststellte, ist der 1. Januar 1 n. Chr. Ein guter Anfang. Es fiel (vermutlich) an einem Montag.

    DayName@{2014, 9, #} &[1]

Montag

DavidC
quelle
Warum September 2014 und nicht 1. Januar 1 n . Chr. ?
HostileFork sagt, vertraue SE
Die Antwort lautet: Ich habe nicht daran gedacht. Aber ich werde Ihren Vorschlag einbeziehen.
DavidC
2

Bash - 21 19

Angenommen, die Eingabe ist variabel D:

date +%A -d$D"Jan1"

HTML + PHP - 26

Sei $dein Eingabetext

<?=date('l',86400*(3+$d));

Der Zeitstempel 86400 * 3 ist der erste Sonntag seit Beginn der UNIX-Welt.

Sie können es testen, indem Sie Folgendes ausführen:

<?php $d=3; ?>
<?=date('l',86400*(3+$d));
avall
quelle
1

Perl, 60 Bytes

Etwas wie das:

$x&&qw{Mon Tues Wednes Thurs Fri Satur Sun}[$x-1]."day"||die

Wenn Sie stattdessen eine Nachricht zurückgeben möchten und sich Sorgen über negative Indizes machen, können Sie stattdessen diese verwenden (8 weitere Zeichen):

$x>0&&qw{Mon Tues Wednes Thurs Fri Satur Sun}[$x-1]."day"||"Invalid"
Alexandre H.
quelle
1

Lua 134 119 115 100 98

q={"mon","tues","wednes","thurs","fri","satur","sun"}print(n<8 and n>0 and q[n].."day"or"invalid")

Grundsätzlich der gleiche Gedanke, den MartinButtner hatte, außer etwa 4,5 4,1 1,7 1,4-mal länger. Nimmt an, dass nes anderswo als Variable gespeichert ist.

Kyle Kanos
quelle
Fairerweise brauchen Sie hier nichts von dieser E / A.
Martin Ender
@ MartinBüttner: Ich denke, es ist länger, wenn ich eine Funktion benutze
Kyle Kanos
Erwarten Sie nur n, dass Sie in einer Variablen gespeichert werden, wie im OP-Snippet.
Martin Ender
Ja, ich hatte keine E / A auf Ihrer Seite erwartet.
CrazyMod
1

Python (84)

lambda a:'imtwtfssnouehrauvneduitnadsnrdudladesaraiyasdydyd yda a    ay y    y'[a if 0<a<8 else 0::8]

Ich nehme an, es ist eine interessante Lösung. Es nimmt eine Idee von einer anderen Antwort, die ich irgendwo gelesen habe (kann sie nicht finden, ich weiß, dass sie auf dieser Site war. Wenn jemand weiß, kann er es mir gerne sagen.) Die Zeichenfolge wurde mit dem folgenden J-Programm generiert:

,|:>'invalid';'monday';'tuesday';'wednesday';'thursday';'friday';'saturday';'sunday'

Nehmen Sie einige subtile Hinweise aus dieser Antwort:

lambda a:' mtwtfssouehrauneduitn snr u   es r   s'[a::7]+'day'if 0<a<8 else'invalid'
ɐɔıʇǝɥʇuʎs
quelle
1

Bash 74 48 + Fehlermeldung

Ein anderer Ansatz, da sich alle anderen Antworten darauf konzentrieren, die Zeichenfolgen in irgendeiner Form zu speichern.

read x;((0<x&&x<8))&&date -d2007010$x +%A||echo out of range
user80551
quelle
Was ist die Byteanzahl?
stolzer Haskeller
@proudhaskeller Irrelevant, da dies nicht als Code-Golf
user80551
Sie haben Recht, nur alle anderen Lösungen haben eine Byteanzahl. seltsam.
stolzer Haskeller
Das ist eher eine POSIX- shAntwort. In können bashSie die arithmetische Auswertung verwenden. read x;((0<x&&x<8))&&date -d2007010$x +%A||echo out of rangeist kürzer.
Manatwork
In der Frage wurde nur angegeben, dass das Programm nicht abstürzen sollte, wenn die Zahl nicht zwischen 1 und 7 liegt. Sie können also einfach die entfernen ||echo out of range. In Anbetracht dessen, dass die akzeptierte Lösung nicht den Regeln entspricht (print to stdout) ... Wenn Sie jedoch dem Beispiel des OP folgen möchten, können Sie invalidstattdessen anstelle von verwenden out of range.
Nyuszika7h
1

Perl, 54

Von STDIN zu STDOUT, keine Datumsfunktionen, kein Absturz.

print((a,Mon,Tues,Wednes,Thurs,Fri,Satur,Sun)[<>].day)
Thaylon
quelle
1

PHP (56 Bytes)

$d=1;echo$d>0&&$d<8?date('D',255600+$d*86400):'Invalid';
Dämon
quelle
1

Clojure - 99 Zeichen

Schlicht und einfach, trotz meiner besten (Anfänger-) Versuche:

(defn f[x](get{1"monday"2"tuesday"3"wednesday"4"thursday"5"friday"6"saturday"7"sunday"}x"invalid"))
Michael Ostern
quelle
1

JS: 58

Angenommen, n ist bereits als Variable gespeichert.

"0Mon0Tues0Wednes0Thurs0Fri0Satur0Sun".split(0)[n%8]+"day"

Als ES6-Funktion (gleiche Annahmen): 67

let d=n=>"0Mon0Tues0Wednes0Thurs0Fri0Satur0Sun".split(0)[n%8]+"day"

Dies gibt nur "Tag" für 0 aus und führt eine Schleife für n> 7 durch

Isiah Meadows
quelle
"Dienstag"? Außerdem ist Ihre Beschreibung ungenau, sie kehrt dayfür zurück 8und beginnt erneut Mondaybei 9.
Nyuszika7h
@ Nyuszika7h Danke für den Fang.
Isiah Meadows
1

Rebmu : 21 Zeichen

pcSYSTEM/locale/daysA

Laufen:

>> rebmu/args {pcSYSTEM/locale/daysA} 1 
== "Monday"

Ungültige Zahlen geben "keine" zurück.

>> rebmu/args {pcSYSTEM/locale/daysA} 8 
== none

>> rebmu/args {pcSYSTEM/locale/daysA} 0
== none

Für diejenigen, die mit Rebmu nicht vertraut sind, werden Fallübergänge verwendet, um die Notwendigkeit von Abständen zu beseitigen - innerhalb der Grenzen dessen, was gesetzlich analysiert werden kann. Anstatt InitialCapsToBreak zu verwenden, wird CASEtransitionsTObreak verwendet, da dadurch einem anfänglichen Großbuchstaben eine andere Bedeutung zugewiesen werden kann, als wenn der anfängliche Anfangslauf in Kleinbuchstaben geschrieben ist.

Es entspricht also dem Rebol-Programm pick system/locale/days a. (Rebmu benennt gemäß Konvention seinen Skriptparameter als "a").

Speichert einen Charakter über system/locale/days/(a):-)

HostileFork sagt, vertraue SE nicht
quelle
1

Haskell - 62

Umschlingt; 0ist Sonntag, 8ist Montag und so weiter.

words"Mon Tues Wednes Thurs Fri Satur Sun"!!(mod(n-1)7)++"day"

Wenn ein Druck auf Standardausgabe erforderlich ist ( 68 Byte , Ausgabe in doppelten Anführungszeichen):

print$words"Mon Tues Wednes Thurs Fri Satur Sun"!!(mod(n-1)7)++"day"
nyuszika7h
quelle
1

LiveScript - 49

Gibt zurück, undefineddaywenn die Eingabe ungültig ist. ;)

<[Mon Tues Wednes Thurs Fri Satur Sun]>[n-1]+\day

Wenn ein Druck auf Standardausgabe erforderlich ist ( 60 Byte ):

console.log<[Mon Tues Wednes Thurs Fri Satur Sun]>[n-1]+\day
nyuszika7h
quelle
1

Befunge-93 (206 208 )

Es hat Spaß gemacht, diesen zu schreiben. Ich bin sicher, es kann besser gemacht werden, aber ... es funktioniert! =) Kann ausprobiert werden hier .

Wäre noch kürzer gewesen, wenn der #über ganze Saiten und nicht nur über die einzelne Zelle gesprungen wäre.

&1-    v
vv"Mon"># :# !_
> 1-    v
vv"Tues"># :# !_
> 1-      v
vv"Wednes"># :# !_
> 1-     v
vv"Thurs"># :# !_
> 1-   v
vv"Fri"># :# !_
> 1-     v
vv"Satur"># :# !_
> 1-   v
vv"Sun"># :# !_
>>:#,_"yad",,,@

Die Grundidee dahinter: Holen Sie sich die Nummer und dekrementieren Sie sie weiter. Jedes Mal, wenn wir es dekrementieren, bewegt sich der Cursor nach rechts, dreht sich um und wird eine Ebene tiefer gesendet. Sobald wir Null erreicht haben, bewegen Sie sich stattdessen nach links und drücken Sie den (ersten Teil des) Tagesnamens. Von da an bewegt sich der Cursor direkt nach unten, wo die Zeichenfolge gedruckt und "Tag" angehängt wird.

Sie können sehen, wie es funktioniert, indem Sie die Funktion "Schritt" im Link zum Online-Interpreter verwenden.

Bearbeiten: Ich habe es geschafft, zwei Bytes zu rasieren, indem ich >:#,_stattdessen getan habe >,,,,,,, was ebenfalls pretter ist.

Ingo Bürk
quelle
1

MATLAB: 33

datestr(3:9,'dddd');ans(1:7==n,:)

MATLAB: 71

{'mon';'tues';'wednes';'thurs';'fri';'satur';'sun'};[ans{1:7==2} 'day']

Haskell: 75

g n=((++"day").last.take(abs n).words)"mon tues wednes thurs fri satur sun"

Haskell: 97

f n=if elem n[1..7]then["mon","tues","wednes","thurs","fri","satur","sun"]!!n++"day"else"invalid"

Python 3.4.1: 81

'invalid mon tues wednes thurs fri satur sun'.split(' ')[n*(n in range(8))]+'day'
Minar Ashiq Tishan
quelle
Sie sollten diese wahrscheinlich als separate Antworten veröffentlichen.
Nyuszika7h
In Python: (0<n<8)ist dann kürzer (n in range(8)). split()auch geteilte Saite
AMK
1

Java 8 - 69 64 Zeichen

Hier ist ein Ausdruck in Java 8, einschließlich des Imports. Jetzt verbessert (dank Tomáš Dvořák ):

import java.time.*;
return DayOfWeek.of((i>0&i<8)?i:1).name();

Druckt einfach MONDAYfür falsche Werte voni

Michael Ostern
quelle
Tipp: .name () ist kürzer als .toString () und macht dasselbe. Sie können 4 Zeichen speichern. Sie können auch nur ein & anstelle von zwei verwenden und ein anderes Zeichen speichern.
Tomáš Dvořák
1

Python - 87

Ich sehe nicht genug Liebe für dikts .get (). Dieser erwartet adie Nummer

dict(enumerate("mon,tues,wednes,thurs,fri,satur,sun".split(","),1)).get(a,"bad ")+"day"
tief
quelle
Sie können einige Zeichen speichern, indem Sie alle Vorkommen dayin Ihrer Liste entfernen und +"day"am Ende Ihres Codes hinzufügen .
ProgramFOX
Sie können auch einige Zeichen speichern, indem Sie alle Tage in eine Zeichenfolge "mon,tues,...".split(",")
ProgramFOX
Das funktioniert gut,
Prost
0

Python, 95 Bytes

"%day"%["mon","tues","wednes","thurs","fri","satur","sun"][n-1] if 0<n<8 else "invalid"
Tom
quelle
2
Montag? Habe ich das richtig gelesen?
Trichoplax
Ich bin mir nicht sicher, woher Sie 95 Bytes haben, nach meiner Zählung sind es 88. Ich habe es geschafft, 11 zu sparen, indem ich den "Monsday" -Fehler behoben, die Verkettung von %Zeichenfolgen anstelle der Formatierung verwendet, die Liste aus einer Zeichenfolge erstellt split()und unnötige Leerzeichen entfernt habe.
U-Bahn:
2
"mon tues wednes thurs fri satur sun".split()[n-1]+"day"if 0<n<8else"invalid"
U-Bahn:
@undergroundmonorail können Sie weitere 6 Bytes speichern, indem Sie einfache Anführungszeichen anstelle von doppelten Anführungszeichen verwenden
Trichoplax
2
@githubphagocyte Ich kann nicht sagen, ob Sie Witze machen oder sich ernsthaft irren, wie viele Bytes Anführungszeichen aufnehmen.
U-Bahn:
0

Python 2, 84 83 64

Angenommen, n ist bereits als Variable gespeichert.

import calendar as c;print c.day_name[n-1]if 0<n<8 else'Invalid' 
fsfd1100
quelle
Aus diesem Kommentar geht hervor , dass Eingaben ignoriert werden können.
Kyle Kanos
0

Cobra - 43

print if(0<n<8,(n%7)to DayOfWeek,'Invalid')
Οurous
quelle