Nhập một số và ngày trở lại trong tuần


8

Không giới hạn trong bất kỳ một ngôn ngữ lập trình.

Điều tôi đang nói là bạn vượt qua 1 cho nó và nó trả về Thứ Hai, 7 tương ứng với chủ nhật, v.v.

Tôi đã quản lý một câu lệnh 146 byte trong Java để làm điều tương tự.

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"))))))));

Chương trình của bạn nên:

  • xuất từ ​​đầy đủ (STDOUT)
  • không sập nếu đầu vào nhỏ hơn 1 hoặc lớn hơn 7

6
Tôi không thể biết những người khác đang hạ thấp mục đích gì, nhưng tôi mong mọi người không thích sử dụng "cuộc thi phổ biến" cho một câu hỏi hoàn toàn là một câu hỏi golf. Nói chung, cuộc thi phổ biến được sử dụng cho các câu hỏi không có cách khách quan để quyết định người chiến thắng.
trichoplax

9
Câu hỏi này không thể đồng ý với chính nó về những gì nó muốn mọi người viết. Một câu lệnh tìm đầu vào trong một biến và trả về nó hoặc một chương trình ghi vào thiết bị xuất chuẩn? (Đây cũng là một cách sử dụng kỳ lạ của cuộc thi phổ biến , nếu nó bắt kịp, có thể giúp ích rất nhiều cho những người muốn tiêu diệt hoàn toàn thẻ).
Peter Taylor

2
Bạn sẽ tìm hiểu những gì hoạt động và những gì làm cho một câu hỏi hay bằng cách đặt câu hỏi giống như bạn và nhận phản hồi. Cá nhân tôi nghĩ rằng câu hỏi này quá đơn giản để thực hiện một thử thách thú vị, nhưng bạn đã có 3 câu trả lời chỉ sau nửa giờ, điều đó cho thấy thật khó để đoán điều gì tạo ra một thử thách tốt cho đến khi bạn hỏi nó. Với danh tiếng mới mà bạn có được từ câu hỏi này, bạn sẽ sớm có thể sử dụng hộp cát để nhận phản hồi về ý tưởng trước khi bạn đăng chúng.
trichoplax

2
Lưu ý rằng các câu hỏi là bất khả tri về ngôn ngữ theo mặc định - bạn không cần xác định rằng nó không bị hạn chế đối với một ngôn ngữ lập trình.
trichoplax

2
Câu hỏi nói rằng bạn nên xuất ra thiết bị xuất chuẩn, nhưng câu trả lời được chấp nhận không làm như vậy và thậm chí giả định sự tồn tại của một biến. Ngoài ra, chúng ta phải xuất ra invalidnếu đầu vào không hợp lệ? Câu hỏi không nêu rõ nhưng ví dụ cho thấy như vậy.
nyuszika7h

Câu trả lời:


8

Ruby, 69 hoặc 38 byte

Đây là một cách đơn giản để cải thiện mã của bạn (được viết bằng Ruby nhưng nó hoạt động tương tự trong Java):

n>0&&n<8?%w{Mon Tues Wednes Thurs Fri Satur Sun}[n-1]+"day":"Invalid"
  • Kết hợp hai kiểm tra không hợp lệ thành một.
  • Đặt tất cả các ngày trong một mảng và sử dụng nnhư một chỉ mục.
  • Yếu tố ra chung day.

Bạn có thể làm cho nó thậm chí ngắn hơn nếu bạn nhập tên của các ngày trong tuần từ thư viện, như của Ruby:

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

Lưu ý rằng bây giờ tôi không giảm nmà thay vào đó hãy lấy modulo 7 để ánh xạ 7tới 0. Điều này là do DAYNAMESbắt đầu với Chủ nhật.


Gah, tôi vừa mới đặt một phiên bản Lua của điều tương tự (ngoại trừ nó sẽ dài hơn khoảng 100 ký tự) ...
Kyle Kanos

chết tiệt, tôi đã không nghĩ về các dòng của mảng. Tôi đã bị cuốn vào ternary, đến nỗi tôi không nhận ra mình có thể hợp nhất hai người. kinh ngạc!
CrazyMod

Bạn có thể làm n> 0 & n <8 (xóa lần thứ hai &) trong Ruby không? Tôi biết rằng nó hoạt động trong Java.
đánh dấu

@bmark Có vẻ như bạn không thể do nó được ưu tiên, ít nhất là trước Ruby 2.0 (Tôi không có trình thông dịch Ruby 2.x ở đây ngay bây giờ).
Martin Ender


9

Bash: 47 byte

Vẫn không có bash mục? Tôi thất vọng ...

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

Nó sử dụng các ngày trong tuần hiện tại và chỉ đơn giản là thay thế chữ số cuối cùng (11-17 tháng 8 năm 2014 - 11 là thứ Hai, 12 là thứ Ba, v.v.).


Wow, thật là một giải pháp thông minh! Mã hóa cứng một ngày cho điều này là tuyệt vời!. Có cách nào để định dạng ngày chỉ chấp nhận '8' như tháng không? Và sau đó bạn có thể tìm thấy một cặp tháng / năm trong đó đầu tiên là thứ hai.
Cruncher

Cảm ơn! date -d $1sept +%Acũng hoạt động tốt (mặc dù chỉ trong năm nay; giảm byte xuống còn 6 * 9). GNU datethực sự linh hoạt trong vấn đề đó vì vậy cần có những khả năng bổ sung.
yasen

Nếu bạn đăng bài này dưới dạng câu trả lời datethay vì Bash, nó sẽ chỉ là 14-08-1$1- 9 byte!
Ingo Bürk

Đó là 46 byte, không tính dòng mới;
nyuszika7h

Chà, phiên bản ngắn hơn 2 lần :): codegolf.stackexchange.com/a/36424/11887 .
trước

6

Đáng tin 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

Mã thoát không bằng 0 nếu đầu vào không hợp lệ

Sử dụng:

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

6

Javascript, 95 88 byte

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

7 trong nhị phân là 0111, có nghĩa là bạn có thể cạo một vài ký tự bằng thao tác bitwise thay vì x>0&&x<8.

Chỉnh sửa: Đã xóa smảng với sự trợ giúp của edc65 .


đó là một phương pháp gọn gàng!
CrazyMod

1
Phương pháp gọn gàng thực sự. 1) Tôi đếm 95 byte, không phải 97. 2) Bạn không cần biến quảng cáo và có thể thực hiện 88:x=prompt();alert("Invalid 0Mon0Tue0Wednes0Thurs0Fri0Satur0Sun".split(0)[x&~7?0:x]+"day")
edc65

Ah, thật thông minh! Tôi sẽ cập nhật bài viết của tôi bây giờ.
Sean Latham

5

C # - 26 byte

Dự kiến ​​ngày sẽ được lưu trữ bên trong n.
Không sụp đổ, như mong đợi.
Được cung cấp bởi LINQPad ™

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

Đặc biệt cảm ơn các dấu và Stephan Schinkel để tiết kiệm byte và uốn cong quy tắc, tương ứng


Bạn có thể loại bỏ thứ hai và trong điều kiện? Tôi không nghĩ đánh giá ngắn mạch ở đây là cần thiết.
đánh dấu

@bmark Bạn đã đúng, cảm ơn
William Barbosa

1
Câu hỏi không đề cập để trả về "Không hợp lệ", nó chỉ nêu rõ chương trình không bị sập. Vì vậy, bạn có thể viết return ((DayOfWeek) (i% 7)). ToString (); (37 ký tự)
Stephan Schinkel

@StephanSchinkel Vâng, tôi đoán là bạn đúng
William Barbosa

2

C #, 95 byte

Trong C # bạn có thể làm một cái gì đó như thế này:

return(i>7||i<0)?"invalid":new[]{"mon","tues","wednes","thurs","fri","satur","sun"}[i-1]+"day";

Có một lỗi trong kiểm tra giới hạn, bạn cần kiểm tra điều đó i<1và bạn có thể lưu 2 byte bằng cách sử dụng |thay vì ||(không phải đoản mạch) và loại bỏ các dấu ngoặc quanh điều kiện. Việc tạo và tách chuỗi cũng ngắn " mon tues wednes thurs fri satur sun".Split()[i]hơn so với việc tạo một chuỗi chuỗi có kích thước này (lưu ý khoảng trống ở đầu chuỗi, giúp trừ đi 1 từ i)
VisualMelon

2

BrainFuck mở rộng : 104

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

Ungolfed (Thành ngữ)

{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

2

T-SQL 36

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

Giả sử biến được lưu trữ trong @. Nếu đó là một đầu vào không hợp lệ (@> 7 hoặc @ <1), thì nó không chọn bất cứ thứ gì.

Chỉnh sửa: Rõ ràng một ngày có thể là một số. Xóa 5 ký tự với điều đó.

Chỉnh sửa 2: Dựa trên lần chỉnh sửa đầu tiên. Vì là int, tôi không phải sử dụng DATEADD (); Tôi có thể sử dụng bổ sung bình thường thay thế.


2

Javascript 93 :(

q=prompt();alert(q<8&&q>0?'0mon0tues0wednes0thurs0fri0satur0sun'.split(0)[q]+'day':'invalid')

Tại sao chính xác bạn đã sử dụng q && q <8?
CrazyMod

q && qq <8 kiểm tra nếu q nằm trong khoảng từ 1 đến 7
Kevin L

1
Nếu q-5gì?
Doorknob

:( nhưng đó là thêm 2 byte cho> 0. Đã sửa lỗi bằng cách sử dụng thủ thuật bit của ipi, cũng tiết kiệm được 2 byte
Kevin L

Nó có hoạt động với q == 0 không?
edc65

2

Lua - 57 byte

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

Lua có os.date () trong thư viện chuẩn của nó và nó có định dạng. Vì vậy, bạn có thể vượt qua một thời gian (trong trường hợp này là "9e4 * (n + 3)") và yêu cầu trả lại định dạng "% A", đó là tên của các ngày trong tuần. Ngoài ra, rất hữu ích trong Lua là "a và b hoặc c". Nếu a đúng (trong mã a là "n> 0 và n <8"), nó trả về b, nếu a sai (hoặc nil), nó trả về c.


1
Bạn có thể cung cấp một lời giải thích?
Cruncher

1
OP đặc biệt yêu cầu xử lý lỗi, mặc dù nó khá mơ hồ. Lần tới, yêu cầu làm rõ trước khi đăng một câu trả lời không đầy đủ.
Rainbolt

1
Tôi không nghĩ không gian sau %Alà cần thiết
Kyle Kanos

@KyleKanos Đúng rồi bạn. Cảm ơn!
AndoDaan

2

Toán học 19 16 byte

DayName@{1,1,#}&

Như Tiến sĩ Rebmu đã lưu ý, ngày 1 tháng 1 năm 1 sau Công nguyên là một nơi tốt để bắt đầu. Nó (có lẽ) đã rơi vào thứ Hai.

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

Thứ hai



Câu trả lời là: Tôi đã không nghĩ về nó. Nhưng tôi sẽ kết hợp đề nghị của bạn.
DavidC

2

Bash - 21 19

Giả sử đầu vào là biến D:

date +%A -d$D"Jan1"

HTML + PHP - 26

Hãy $dlà một văn bản đầu vào

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

Timestamp 86400 * 3 là Chủ nhật đầu tiên từ khi bắt đầu thế giới UNIX.

Bạn có thể kiểm tra nó bằng cách thực hiện:

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

1

Perl, 60 byte

Một cái gì đó như thế này:

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

Nếu muốn trả lại tin nhắn thay thế và bạn lo ngại về các chỉ mục tiêu cực, bạn có thể sử dụng tin nhắn này thay thế (8 ký tự nữa):

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

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")

Về cơ bản những suy nghĩ tương MartinButtner có, ngoại trừ khoảng 4,5 4,1 1,7 1,4 lần dài hơn. Có giả định nđược lưu trữ như một biến ở nơi khác.


Công bằng mà nói, bạn không cần bất kỳ I / O nào ở đây.
Martin Ender

@ MartinBüttner: Tôi nghĩ sẽ lâu hơn nếu tôi sử dụng một chức năng
Kyle Kanos

Chỉ mong nđược lưu trữ trong một biến, như trong đoạn trích của OP.
Martin Ender

vâng, tôi không mong đợi bất kỳ I / O nào về phía bạn.
CrazyMod

1

Con trăn (84)

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

Tôi cho rằng đó là một cách giải trí thú vị. Nó lấy ý tưởng từ một câu trả lời khác mà tôi đã đọc ở đâu đó (không thể tìm thấy nó, tôi biết nó có trên trang web này, vì vậy nếu có ai biết hãy nói với tôi.) Chuỗi được tạo bằng chương trình J sau:

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

Lấy một số gợi ý tinh tế từ câu trả lời này :

lambda a:' mtwtfssouehrauneduitn snr u   es r   s'[a::7]+'day'if 0<a<8 else'invalid'

1

Bash 74 48 + thông báo lỗi

Một cách tiếp cận khác vì tất cả các câu trả lời khác tập trung vào việc lưu trữ các chuỗi ở một số dạng.

read x;((0<x&&x<8))&&date -d2007010$x +%A||echo out of range

số byte là gì?
tự hào

@proudhaskeller Không liên quan vì điều này chưa được gắn thẻ dưới dạng mã golf
user80551

bạn nói đúng, tất cả các giải pháp khác đều có số byte. kỳ dị.
tự hào

Đó là nhiều hơn một shcâu trả lời POSIX . Trong bashbạn có thể sử dụng đánh giá số học. read x;((0<x&&x<8))&&date -d2007010$x +%A||echo out of rangengắn hơn
manatwork

Câu hỏi chỉ nói rằng chương trình không bị sập trong trường hợp số không nằm trong khoảng từ 1 đến 7, vì vậy bạn chỉ cần xóa ||echo out of range. Xem xét rằng giải pháp được chấp nhận không tuân theo các quy tắc (in ra thiết bị xuất chuẩn) ... Nhưng nếu bạn muốn làm theo ví dụ của OP, bạn có thể sử dụng invalidthay vì out of range.
nyuszika7h

1

Perl, 54

Từ STDIN đến STDOUT, không có chức năng ngày, không có sự cố.

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

1

PHP (56 byte)

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

1

Clojure - 99 ký tự

Đơn giản và đơn giản, bất chấp những nỗ lực tốt nhất của tôi (người mới):

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

1

Mã số: 58

Giả sử n đã được lưu trữ dưới dạng một biến.

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

Là một hàm ES6 (cùng giả định): 67

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

Điều này sẽ chỉ in "ngày" cho 0 và vòng lặp cho n> 7


"Thứ ba"? Ngoài ra, mô tả của bạn là chính xác, nó sẽ trả về daycho 8và bắt đầu lại từ Mondaytại 9.
nyuszika7h

@ nyuszika7h Cảm ơn bạn đã bắt được.
Isiah Meadows

1

Rebmu : 21 ký tự

pcSYSTEM/locale/daysA

Chạy:

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

Số không hợp lệ sẽ trả về "không".

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

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

Đối với những người không quen thuộc với Rebmu, nó sử dụng các chuyển đổi trường hợp để loại bỏ nhu cầu về khoảng cách - trong giới hạn của những gì có thể phân tích được về mặt pháp lý. Thay vì sử dụng InitialCapsToBreak, nó sử dụng CASEtransitionsTObreak, bởi vì điều đó cho phép một ý nghĩa khác được gán cho một lần chạy vốn đầu tiên từ khi lần chạy ban đầu là chữ thường.

Vì vậy, nó tương đương với chương trình Rebol pick system/locale/days a . (Rebmu theo quy ước đặt tên tham số tập lệnh của nó là "a").

Lưu một ký tự trên system/locale/days/(a):-)


1

Haskell - 62

Bao bọc xung quanh; 0là chủ nhật, 8là thứ hai, v.v.

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

Nếu in ra thiết bị xuất chuẩn là bắt buộc ( 68 byte , đầu ra nằm trong dấu ngoặc kép):

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

1

LiveScript - 49

Trả về undefineddaynếu đầu vào không hợp lệ. ;)

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

Nếu in ra thiết bị xuất chuẩn là bắt buộc ( 60 byte ):

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

1

Befunge-93 (206 208 )

Điều này là thú vị để viết. Tôi chắc chắn rằng nó có thể được thực hiện theo cách tốt hơn, nhưng nó hoạt động! =) Có thể được thử ở đây .

Thậm chí còn ngắn hơn nếu #nhảy qua toàn bộ chuỗi chứ không chỉ từng ô riêng lẻ.

&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",,,@

Ý tưởng cơ bản đằng sau nó: Lấy số và tiếp tục giảm dần. Mỗi khi chúng ta giảm nó, con trỏ di chuyển sang phải, quấn quanh và được gửi xuống một cấp thấp hơn. Khi chúng ta chạm 0, thay vào đó, di chuyển sang trái và ấn tên ngày (phần đầu tiên). Từ đó trở đi, con trỏ sẽ di chuyển thẳng xuống phía dưới nơi chuỗi được in và "ngày" được nối thêm.

Bạn có thể thấy nó hoạt động như thế nào bằng cách sử dụng tính năng "Bước" trong liên kết đến trình thông dịch trực tuyến.

Chỉnh sửa: Tôi đã quản lý để tắt hai byte bằng cách thực hiện >:#,_thay vì >,,,,,,đó là tốt hơn.


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'

Bạn có lẽ nên đăng những điều này như câu trả lời riêng biệt.
nyuszika7h

Trong Python: (0<n<8)ngắn hơn rồi (n in range(8)). split()cũng chia chuỗi
AMK

1

Java 8 - 69 64 ký tự

Đây là một biểu thức trong Java 8, bao gồm cả nhập. Hiện đã được cải thiện (nhờ Tomáš Dvořák ):

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

Chỉ cần in MONDAYcho các giá trị không có thật củai


Mẹo: .name () ngắn hơn .toString () và thực hiện điều tương tự. Bạn có thể lưu 4 ký tự. Ngoài ra, bạn chỉ có thể sử dụng một & thay vì hai và lưu một char khác.
Tomáš Dvořák

1

Con trăn - 87

Tôi không thấy đủ tình yêu cho dict's .get () Cái này mong đợi alà số

dict(enumerate("mon,tues,wednes,thurs,fri,satur,sun".split(","),1)).get(a,"bad ")+"day"

Bạn có thể lưu một số ký tự bằng cách xóa tất cả các lần xuất hiện daytrong danh sách của bạn và thêm +"day"vào cuối mã của bạn.
Chương trìnhFOX

Bạn cũng có thể lưu một số ký tự bằng cách đặt tất cả các ngày trong một chuỗi và sau đó phân tách chúng thay vì đặt tất cả chúng trong danh sách:"mon,tues,...".split(",")
Chương trìnhFOX

Điều đó hoạt động độc đáo, chúc mừng :-)
deepy

0

Python, 95 byte

"%day"%["mon","tues","wednes","thurs","fri","satur","sun"][n-1] if 0<n<8 else "invalid"

2
thứ hai Tôi đã đọc đúng không?
trichoplax

Không chắc chắn bạn đã lấy 95 byte từ đâu, theo tính toán của tôi là 88. Tôi đã cố gắng lưu 11 bằng cách sửa lỗi "thứ hai", sử dụng nối chuỗi thay vì %định dạng, tạo danh sách từ một chuỗi bằng cách sử dụng split()và xóa khoảng trắng không cần thiết.
undergroundmonorail

2
"mon tues wednes thurs fri satur sun".split()[n-1]+"day"if 0<n<8else"invalid"
undergroundmonorail

@undergroundmonorail bạn có thể lưu thêm 6 byte bằng cách sử dụng dấu ngoặc đơn thay vì dấu ngoặc kép
trichoplax

2
@githubphagocyte Tôi không thể biết bạn đang nói đùa hay nhầm lẫn nghiêm trọng về việc có bao nhiêu byte ký tự trích dẫn.
undergroundmonorail

0

Con trăn 2, 84 83 64

Giả sử n đã được lưu trữ dưới dạng một biến.

import calendar as c;print c.day_name[n-1]if 0<n<8 else'Invalid' 

Từ nhận xét này , có vẻ như đầu vào có thể bị bỏ qua.
Kyle Kanos

0

Rắn hổ mang - 43

print if(0<n<8,(n%7)to DayOfWeek,'Invalid')
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.