สร้าง Semi-Zigzag


29

คุณจะได้รับจำนวนเต็มบวกNเป็นอินพุต งานของคุณคือการสร้างกึ่งคดเคี้ยวไปมาของฝ่ายแต่ละยาวN Nเนื่องจากเป็นการยากที่จะอธิบายงานอย่างชัดเจนนี่คือตัวอย่างบางส่วน:

อย่างที่คุณเห็น Semi-Zigzag ทำจากเส้นทแยงมุมและแนวนอนสลับกันและมันมักจะเริ่มต้นด้วยเส้นทแยงมุมบนซ้ายไปล่างล่างขวา โปรดทราบว่าอักขระบนเส้นแนวนอนคั่นด้วยช่องว่าง

กฎระเบียบ

  • คุณสามารถเลือกตัวละครที่ไม่ใช่ช่องว่างแทนOมันอาจจะไม่สอดคล้องกัน

  • คุณอาจจะส่งออก / กลับผลเป็นสตริงหรือเป็นรายการของสตริงที่เป็นตัวแทนของแต่ละหนึ่งบรรทัด

  • คุณอาจมีการขึ้นบรรทัดใหม่หรือขึ้นบรรทัดใหม่

  • มีการใช้ช่องโหว่เริ่มต้น

  • คุณสามารถใช้อินพุทและเอาท์พุทให้โดยใด ๆ ค่าเฉลี่ยมาตรฐาน

  • หากเป็นไปได้โปรดเพิ่มลิงก์ทดสอบลงในการส่งของคุณ ฉันจะลบคำตอบใด ๆ ที่แสดงความพยายามในการเล่นกอล์ฟและมีคำอธิบาย

  • นี่คือดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ในทุกภาษาชนะ!


1
Sandbox โพสต์
นาย Xcoder

เราต้องใส่ช่องว่างระหว่าง O ที่เป็นแนวนอนหรือไม่?
HatsuPointerKun

1
@HatsuPointerKun โปรดทราบว่าอักขระบนเส้นแนวนอนคั่นด้วยช่องว่าง - ใช่คุณต้องใส่ช่องว่าง
Mr. Xcoder

1
อ่าใช่ ฉันควรเรียนรู้ที่จะอ่าน ขอบคุณ
HatsuPointerKun

1
@JohnHamilton คำตอบที่ควรจะทำงานในทางทฤษฎีสำหรับจำนวนใด ๆ ที่ได้รับเป็นอินพุต พวกเขาไม่ต้องกังวลกับสิ่งที่หน้าจอสามารถเก็บได้
Mr. Xcoder

คำตอบ:


10

ถ่าน 24 ไบต์

FN«↶§7117ι×⁺#× ﹪ι²⁻Iθ¹»#

ลองออนไลน์!

-5 ขอบคุณที่นีล

AST:

Program
├F: For
│├N: Input number
│└Program
│ ├↶: Pivot Left
│ │└§: At index
│ │ ├'7117': String '7117'
│ │ └ι: Identifier ι
│ └Print
│  └×: Product
│   ├⁺: Sum
│   │├'#': String '#'
│   │└×: Product
│   │ ├' ': String ' '
│   │ └﹪: Modulo
│   │  ├ι: Identifier ι
│   │  └2: Number 2
│   └⁻: Difference
│    ├I: Cast
│    │└θ: Identifier θ
│    └1: Number 1
└Print
 └'#': String '#'

มันง่ายเกินไปสำหรับ Charcoal :)
Mr. Xcoder

@ Mr.Xcoder นี่ให้ความรู้สึกที่ไม่ดีจริง ๆ ... ไม่แน่ใจว่าจะเล่นกอล์ฟอย่างไร
Erik the Outgolfer

OP กล่าวว่าตัวละครสามารถเป็นแบบใดก็ได้และไม่จำเป็นต้องสอดคล้องกันดังนั้นฉันจึงไปหาอะไรบางอย่างตามแนวFN§⟦↘→↗→⟧ι⁻Iθ¹→(15 ไบต์เท่านั้น) แต่รายการทิศทางดูเหมือนจะไม่ทำงานใน Charcoal สงสาร.
Charlie

@CarlosAlejo พยายามเช่นกัน แต่น่าเสียดายที่มันไม่ทำงาน
Erik the Outgolfer

1
@CarlosAlejo FN✳§⟦↘→↗→⟧ι⁻θ¹Oจะทำงานหลังจาก Dennis pulls ถูกเลือกสู่ทิศทาง
ASCII เท่านั้นเท่านั้น

7

Python 2 , 157 153 bytes

n=input()
o,s=q='O '
def p(k,t=q*n+s*(4*n-6)):print(t*n)[k*~-n:][:n*3/2*~-n+1]
p(2)
for i in range(n-2):p(0,i*s+s+o+s*(4*n-7-2*i)+o+s*(2*n+i-2))
n>1>p(5)

ลองออนไลน์!

  • n*3/2*~-n+1 คือความกว้างของแต่ละบรรทัด: ⌊3n / 2⌋· (n − 1) + 1 ตัวอักษร
  • สตริงq*n+s*(4*n-6)แสดงถึงแถวบนและแถวล่าง ถ้าเราทำซ้ำและแบ่ง[2*(n-1):]เราจะได้แถวบนสุด ถ้าเราหั่น[5*(n-1):]เราจะได้แถวล่าง ดังนั้นความหมายของpและสายไปและp(2) p(5)แต่เนื่องจากเราต้องการการทำซ้ำและการตัดความยาวบรรทัดสำหรับบรรทัดอื่นทั้งหมดต่อไปเราจึงนำมาใช้ใหม่pในการวนซ้ำ
  • นี่i*s+s+o+…เป็นเพียงนิพจน์ที่น่าเบื่อสำหรับแถวกลาง
  • n>1>p(5)จะn≯1ทำให้เกิดการลัดวงจรหากทำให้p(5)ไม่ได้รับการประเมิน if n>1:p(5)ดังนั้นมันเป็นชวเลข

ว้าวทางออกที่ยอดเยี่ยมฉลาดมาก คุณได้รับ upvote ของฉัน
Mr. Xcoder

ว้าวไม่เคยรู้เลยว่า Python มีการลัดวงจรในการเปรียบเทียบเช่นนั้น +1
Zacharý

6

Mathematica, 126 125 121 112 104 89 86 ไบต์

(m=" "&~Array~{#,#^2-#+1};Do[m[[1[i,#,-i][[j~Mod~4]],j#-#+i+1-j]]="X",{j,#},{i,#}];m)&
  • #คือหมายเลขอินพุตสำหรับฟังก์ชั่นที่ไม่ระบุตัวตน (จบลงด้วยการสุดท้าย&)
  • m=" "&~Array~{#,#^2-#+1};ทำให้เมทริกซ์ของอักขระช่องว่างที่มีขนาดที่เหมาะสมโดยการกรอกข้อมูลอาร์เรย์ของมิติที่ได้รับ#,#^2-#+1กับผลของค่าคงที่ไม่ระบุชื่อฟังก์ชั่น " "&"ส่งออกพื้นที่ที่"
  • Do[foo,{j,#},{i,#}]คือคู่ของลูปทำซ้อนกันที่jช่วงจาก1ไป#และภายในของที่iอยู่ในช่วงการ1#
  • m[[1[i,#,-i][[j~Mod~4]],j#-#+i+1-j]]="X"ชุดส่วนที่เกี่ยวข้องของเมทริกซ์ที่จะตัวอักษรที่Xอยู่บนพื้นฐานและj ใช้การจัดทำดัชนีเชิงลบที่จะบันทึกไบต์จาก (ฉันลืมที่จะเขียนเป็นในรุ่นเดิมของรหัสนี้.) Jenny_mathy ชี้ให้เห็นว่าเราสามารถใช้กากแบบแยกส่วนเพื่อจัดทำดัชนีในรายการโดยตรง (แทนที่จะใช้) เพื่อบันทึก 9 ไบต์และจองฮวานมินชี้ให้เห็นว่าเรา didn' ไม่จำเป็นต้องใช้เนื่องจากเราสามารถตั้งค่าส่วนหนึ่งของอาเรย์และใช้พฤติกรรมที่แปลกและทั่วไปของการบันทึกไบต์มากกว่าi-i#-i+1Mod[j,4]j~Mod~4SwitchReplacePart1[i,#,-i][[j~Mod~4]][[foo]]{1,i,#,-i}[[j~Mod~4+1]]
  • เนื่องจากเมตายอมรับว่ารายการของตัวละครเป็นสตริง (ตามที่JungHwan Min ชี้ไว้ ) เราไม่จำเป็นต้องแมปฟังก์ชั่นข้ามแถวของเมทริกซ์ของตัวละครเพราะมันเป็นรายการของ "string"

คุณสามารถทดสอบสิ่งนี้ได้ในกล่องแซนด์ Wolfram Cloudโดยการวางโค้ดเช่นต่อไปนี้และกด Shift + Enter หรือป้อน numpad:

(m=" "&~Array~{#,#^2-#+1};Do[m[[1[i,#,-i][[j~Mod~4]],j#-#+i+1-j]]="X",{j,#},{i,#}];m)&@9//MatrixForm

1
ดีมาก! คุณสามารถแทนที่ StringJoin ด้วย "" <> # & เพื่อบันทึก 4 ไบต์
J42161217

@ Jenny_mathy ขอบคุณสำหรับเคล็ดลับ! ดูเหมือนว่ามีประโยชน์ทีเดียว
มาร์คเอส.

2
คุณสามารถแทนที่ Switch [... ] ด้วย {1, i, #, - i} [[~ ~ Mod ~ 4 + 1]] และบันทึก 9 ไบต์!
J42161217

1
คุณไม่ต้องการReplacePartที่นี่จริงๆ m=ReplacePart[...]สามารถm[[{1,i,#,-i}[[j~Mod~4+1]],j#-#+i+1-j]]="X"- คุณสามารถSetเป็นPartหนึ่งในรายการ นั่นกำจัด 15 ไบต์
JungHwan Min

1
{1,i,#,-i}[[j~Mod~4+1]]1[i,#,-i][[j~Mod~4]]นอกจากนี้ยังสามารถ เคล็ดลับนี้ใช้งานได้เพราะ[[0]]ส่งคืนHeadนิพจน์
JungHwan Min

4

C ++, 321 234 ไบต์

-87 ไบต์ขอบคุณZacharý

#include<vector>
#include<string>
auto z(int n){std::vector<std::string>l;l.resize(n,std::string(n*n+n/2*(n-1),32));l[0][0]=79;int i=0,j,o=0;for(;i<n;++i)for(j=1;j<n;++j)l[i%4?i%4-1?i%4-2?0:n-j-1:n-1:j][i*n+j-i+(o+=i%2)]=79;return l;}

ส่งคืนเวกเตอร์ของสตริง


ฉันได้มันลงไปที่ 318 bytes: repl.it/JpJ2
Zacharý

การแก้ไขฉันลงไปที่239 bytes : repl.it/JpJ2/1
Zacharý

ขออภัยสำหรับสแปม 234 ไบต์: repl.it/JpJ2/3
Zacharý

1
สิ่งที่ฉันสามารถพูดได้ยกเว้นคุณยินดีต้อนรับ!
Zacharý

@ Zacharýขอบคุณมากครับท่าน
HatsuPointerKun

4

Mathematica, 179 ไบต์

Rotate[(c=Column)@(t=Table)[{c@(a=Array)[" "~t~#<>(v="o")&,z,0],c@t[t[" ",z-1]<>v,z-1],c@a[t[" ",z-2-#]<>v&,z-1,0],c@t[v,z-Boole[!#~Mod~4<1]-1]}[[i~Mod~4+1]],{i,0,(z=#)-1}],Pi/2]&

แก้ไขสำหรับ @JungHwanMin


ฉันไม่ได้คาดหวังว่ามันจะสั้นขนาดนั้นทำได้ดีมาก!
Mr. Xcoder

แค่คำถาม: สามารถMod[z,4]==0ถูกแทนที่ด้วยMod[z,4]<1?
Mr. Xcoder

ใช่ฉันสามารถตีบางสิ่งลงได้ ...
J42161217

3
ฉันไม่รู้จัก Mathematica จริงๆ แต่คุณสามารถแทนที่Mod[#,4]ด้วย#~Mod~4-1 ไบต์ได้หรือไม่
Mr. Xcoder

1
อุ๊ปส์ ... ลดระดับลงโดยไม่ตั้งใจ คุณสามารถแก้ไขคำตอบเพื่อที่ฉันจะได้พลิกคว่ำนั้นได้หรือไม่?
JungHwan Min

4

05AB1E , 21 20 19 ไบต์

รหัส

ใช้โหมดผ้าใบใหม่:

Fx<)Nè'ONÉúR3212NèΛ

ใช้การเข้ารหัส05AB1E ลองออนไลน์!

คำอธิบาย:

F                      # For N in range(0, input)
 x<)                   #   Push the array [input, 2 × input - 1]
    Nè                 #   Retrieve the Nth element
      'ONÉúR           #   Push "O" if N is odd, else "O "
            3212Nè     #   Retrieve the Nth element of 3212
                  Λ    #   Write to canvas

สำหรับอินพุต6สิ่งนี้ให้อาร์กิวเมนต์ต่อไปนี้ (เรียงตามลำดับเดียวกัน) สำหรับแคนวาส:

[<num>, <fill>, <patt>]
[6,     'O',     3]
[11,    'O ',    2]
[6,     'O',     1]
[11,    'O ',    2]
[6,     'O',     3]
[11,    'O ',    2]

เพื่ออธิบายว่าผ้าใบทำอะไรเราเลือกชุดอาร์กิวเมนต์แรกจากรายการด้านบน

หมายเลข6 เป็นตัวกำหนดความยาวของสตริงที่จะถูกเขียนลงในผืนผ้าใบ Oฟิลเลอร์ที่ใช้ในการเขียนบนผืนผ้าใบซึ่งในกรณีนี้คือ มันทำงานผ่านสตริงตัวเติม ทิศทางของสตริงถูกกำหนดโดยอาร์กิวเมนต์สุดท้ายคือทิศทาง ทิศทางคือ:

7  0  1
 \ | /
6- X -2
 / | \
5  4  3

ซึ่งหมายความว่า3กำหนดทิศทางไปทางตะวันออกเฉียงใต้ซึ่งสามารถลองออนไลน์ได้


โปรดทราบว่าโหมดผ้าใบกำลังอยู่ในระหว่างการพัฒนาและไม่เสถียรมาก
Adnan

: O 05AB1E กำลังกลายเป็น Charcoal (เช่นนี้ก็คือ Charcoal O_o)
เท่านั้น

@ ASCII เท่านั้นใช่ฉันเห็นการเพิ่มขึ้นของทุกภาษาที่ใช้ ASCII (Charcoal, SOGL, V, ฯลฯ ) และเห็น 05AB1E จมลงในพื้นหลังดังนั้นฉันต้องทำอะไรบางอย่างเกี่ยวกับมัน: p
Adnan

ดังนั้นคุณคัดลอกถ่าน? : P 05ab1e มีผ้าใบและการพิมพ์แบบ Directional (แม้ว่าถ่านจะรองรับเฉพาะรูปแบบการพิมพ์ที่มีความยาวผ่าน Python)
ASCII-only

2

SOGL V0.12 , 36 ไบต์

╝.H∫2\?.╝}F2%?№@.┌Ο};1w⁄Hh1ž}.4%1>?№

ลองที่นี่!

แนวคิดพื้นฐานคือสำหรับแต่ละช่วงสัญญาณเข้าให้เลือกทั้งการเพิ่มเส้นทแยงมุมหรือส่วนประแนวนอนซึ่งในกรณีนี้มันจะหมุนอาร์เรย์รอบ ๆ เพื่อการเพิ่มที่ง่ายขึ้น คำอธิบาย:

╝                                     get a diagonal from the bottom-left corner with the length of the input - the starting canvas
 .H∫                        }         for each number in the range [1,inp-1] do, pushing counter
    2\?  }                              if it divides by 2, then
       .╝                                 create another diagonal of the input
          F2%                           push counter % 2
             ?     }                    if that [is not 0]
              №                           reverse the current canvas upside down
               @.┌Ο                       get an alternation of spaces and dashes with the dash amount of the input length
                    ;                   get the canvas on top of the stack
                     1w⁄                get its 1st element length
                        H               decrease it
                         h              swap the bottom 2 items - the canvas is now at the bottom and the current addition ontop
                          1             push 1
                           ž            at 1-indexed coordinates [canvasWidth-1, 1] in the canvas insert the current part made by the Ifs
                             .4%1>?   if input%4 > 1
                                   №    reverse the array vertically

หากไม่อนุญาตให้ป้อนข้อมูล 1 ο.∫2%?.╝}F2\?№@.┌Ο};1w⁄Hh1ž}.4%1>?№จะทำงานได้เช่นกัน หากอนุญาตให้มีการสุ่มตัวเลขที่ลอยได้.∫2%?.╝}F2\?№@.┌Ο};1w⁄Hh1ž}.4%1>?№ก็จะใช้ได้เช่นกัน ถ้าฉันไม่ขี้เกียจและดำเนินการ, }F2%?อาจถูกแทนที่ด้วยสำหรับ -4 ไบต์


2

Mathematica, 106 87 ไบต์

SparseArray[j=i=1;k=#-1;Array[{j+=Im@i;k∣#&&(i*=I);j,#+1}->"o"&,l=k#+1,0],{#,l}," "]&

ส่งคืนSparseArrayวัตถุของStrings Grid@จะเห็นภาพออกคุณสามารถผนวก โยนข้อผิดพลาดสำหรับกรณี1แต่ก็ปลอดภัยที่จะไม่สนใจ

คำอธิบาย

j=i=1

ตั้งค่าiและjเป็น 1

k=#-1

ตั้งค่าkเป็นอินพุต - 1

l=k#+1

ตั้งค่าlเป็นk*input + 1

Array[ ..., l= ...,0]

ทำซ้ำlครั้งเริ่มจาก0เพิ่มขึ้น1ทุกครั้ง ...


j+=Im@i

เพิ่มองค์ประกอบจินตภาพของiไปยังj...

k∣#&&(i*=I)

หากการวนซ้ำปัจจุบันหารด้วยจำนวนจินตภาพkคูณiด้วย ...

{... j,#+1}->"o"

สร้างRuleวัตถุที่เปลี่ยนองค์ประกอบที่ตำแหน่ง{j, current iteration + 1}เป็น"o"


SparseArray[ ...,{#,l}," "]

สร้างSparseArrayวัตถุโดยใช้วัตถุที่สร้างขึ้นRuleโดยมีมิติ{input, l}โดยใช้" "เป็นช่องว่าง

ลองใช้กับ Wolfram Sandbox!


1
มีบางอย่างผิดปกติกับเคส n = 3
J42161217

1
n = 2, 4,5,6 ก็มีปัญหาเรื่องความถูกต้องเหมือนกัน แต่ฉันคิดว่ามันใช้ได้กับ 7 และสูงกว่า ฉันอยากรู้อยากเห็น: มีแบบอย่างว่าเป็นSparseArrayนับเป็นอาร์เรย์หรือไม่? มันสามารถมองเห็นได้โดยใช้GridหรือMatrixFormแต่ฉันจะไม่นับมันเป็น "รายการของสตริง" ที่นี่ ถ้าอาเรย์ของตัวละคร 2 มิติเพียงพอนั่นจะตัดการแก้ปัญหาของฉัน 8 ไบต์ (12 ก่อนที่จะช่วย Jenny_mathy)
มาร์คเอส.

1
@MarkS นอกจากนี้อาเรย์ของสตริงจะถูกต่อฉันทามติ meta หากสิ่งที่ไม่ชัดเจนโปรดถาม OP (เพราะเขา / เธอทำกฎไม่ใช่เรา) การค้นหา "SparseArray" อย่างง่ายในเว็บไซต์นี้ให้SparseArrayคำตอบมากมายดังนั้นฉันจึงเข้าใจว่ามันใช้ได้
JungHwan Min

1
@MarkS นอกจากนี้หน้านี้มีลูกเล่นมากมายเกี่ยวกับการเล่นกอล์ฟ Mathematica
JungHwan Min

1
@JungHwanMin ฉันแก้ไขคำตอบตามที่คุณถาม
J42161217

2

Python 3 , 228 226 224 215 197 195 ไบต์

-11 ไบต์ขอบคุณ @Mr Xcoder

-2 ไบต์ขอบคุณ @Mr Xcoder

def f(n,s=range):
 x=y=t=c=0;z=[]
 for i in s(n*n-n+2):c+=i%(n-(2<=n))<1;z+=[[x,y]];t=max(t,x);x+=2-c%2;y+=[-1,1][c%4<3]*(c%2)
 return'\n'.join(''.join(' O'[[k,j]in z]for k in s(t))for j in s(n))

ลองออนไลน์!

คำอธิบายและรหัสที่ตีกอล์ฟน้อย:

def f(n):
 x=y=t=c=0;z=[]                       #initialize everything
 for i in range(n*n-n+2):             #loop n*n-n+2 times which is the numberr of 'o's expected
    c+=i%[~-n,n]<n-1                  #if one cycle has been completed, increase c by 1, if n>1.                                            
    z+=[[x,y]]                        #add [x,y] to z(record the positions of 'o')
    t=max(t,x)                        #trap maximum value of x-coordinate(to be used later while calculatng whole string)
    r=[[2,0],[1,1],[2,0],[1,-1]][c%4] #r gives direction for x and y to move, adjust it as per c i.e. cycles
    x+=r[0];y+=r[1]                   #yield newer values of x and y 
 return '\n'.join(''.join(' o'[[k,j]in z]for k in range(t))for j in range(n)) #place space or 'o' accordingly as per the recorded posititons in z

1
ทำงานได้ดีมาก ขอแสดงความยินดี!
Mr. Xcoder

@ Mr.Xcoder ขอบคุณ ฉันต้องบอกว่าอันนี้ยากโดยเฉพาะอย่างยิ่งมีปัญหาในการระบุช่วงที่ถูกต้อง
อย่างเป็นทางการ


1
215 ไบต์ , if 2>n:return'o'ซ้ำซ้อนค่อนข้าง ฉันทำทำงานรอบกับแทนc+=i%[~-n,n][2>n]<1 c+=i%~-n<1
Mr. Xcoder

1
ขออภัยสำหรับการปรับปรุงล่าช้ามาก195 ไบต์
Mr. Xcoder

1

Haskell , 197 ไบต์

a n c=take(2*n)$cycle$c:" "
r i n x y=take(div(3*n)2*(n-1)+1)$(' '<$[1..i])++(cycle$"O "++(a(2*n-i-3)y)++"O "++(a(n+i-2)x))
z n=take n$(r 0 n 'O' ' '):[r i n ' ' ' '|i<-[1..n-2]]++[r(n-1)n ' ' 'O']

ลองออนไลน์!

ขอบคุณ @Lynn: แก้ไขช่องว่างระหว่างOs ในส่วนแนวนอนของซิกแซก แต่มีค่าใช้จ่ายจำนวนมากไบต์!

คำอธิบายบางอย่าง:

  • rเป็นแถวของเอาต์พุต: มี0 y y y y y 0 x x x 0 y ...รูปแบบจำนวนxและyขึ้นอยู่กับแถวและเริ่มต้นn
  • สำหรับแถวบนx='0'และy=' '
  • สำหรับแถวกลางx=' 'และy=' '
  • สำหรับแถวล่างx=' 'และy='0'
  • take(div(3*n)2*(n-1)+1) ตัดแถวที่ไม่มีที่สิ้นสุดในตำแหน่งที่ถูกต้อง
  • ทุกเอาต์พุตมีหนึ่งแถวบนสุดและหนึ่งแถวล่างยกเว้นเมื่อn=1: take nจัดการกรณีนี้

อย่างกอล์ฟ! ฉันคิดว่าคุณสามารถดรอปช่องว่างสองสามอันได้ และจะถูกแทนที่ด้วยreplicate n x x<$[1..n]นอกจากนี้คำตอบของคุณยังขาดช่องว่างระหว่างOs ในส่วนแนวนอนของซิกแซก
ลินน์

@ ลินน์ขอบคุณ! ด้วยช่องว่างในส่วนแนวนอนวิธีการของฉันจะยุ่งยาก แต่ฉันต้องการแก้ไขรหัสต่อไป ...
jferard

คุณสามารถประหยัดได้ไม่มากนักโดยใช้โอเปอเรเตอร์แล้วลบช่องว่างที่ไม่ต้องการออกโปรดดู ที่นี่
ბიმო

1

Python 2 , 155 151 146 137 ไบต์

m=input()
n=m-1
r=range(n+2)
for L in zip(*[' '*i+'O'+n*' 'for i in(r+[n,m]*~-n+r[-2::-1]+([m,0]*n)[:-1])*m][:1+3*m/2*n]):print''.join(L)

ลองออนไลน์!


@ Mr.Xcoder Ahh ฉันเห็นแล้ว
TFeld

@ Mr.Xcoder แก้ไขแล้ว
TFeld

ฉันหนึ่งปีไปงานปาร์ตี้ตีกอล์ฟ แต่`L`[2::5]บันทึกไบต์ไป''.join(L)
Mr. Xcoder
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.