คำถามติดแท็ก python

ความท้าทายนี้เกี่ยวข้องกับภาษา Python โปรดทราบว่าความท้าทายที่ต้องใช้คำตอบในภาษาใดภาษาหนึ่งนั้นเป็นสิ่งที่ท้าทาย

30
เคล็ดลับการตีกอล์ฟในไพ ธ อน
คุณมีเคล็ดลับทั่วไปสำหรับการเล่นกอล์ฟใน Python อย่างไร ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟและอย่างน้อยก็ค่อนข้างเฉพาะเจาะจงกับ Python (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ
248 code-golf  python  tips 

11
llhuii ส่งผลให้ Evil Numbers ใน Python ขนาด 42 ไบท์ได้อย่างไร?
นี่คือคำถามที่เคล็ดลับสำหรับการเล่นกอล์ฟในหลามเกี่ยวกับเบอร์ Evilคำถามเกี่ยวกับความโกลาหลกอล์ฟ จำนวนนั้นเป็นสิ่งที่ชั่วร้ายถ้าการขยายแบบไบนารีนั้นมีจำนวนเท่ากับ 1 ความท้าทายคือการพิมพ์ตัวเลขความชั่วร้าย 400 หมายเลขแรก0,3,5,...,795,797,798ต่อหนึ่งบรรทัด การส่ง Python 2นำโดย llhuii ด้วยโซลูชันขนาด 42 ไบต์ สิ่งที่ดีที่สุดถัดไปคือ 46 ไบต์โดย mitchs ตามด้วยการส่ง 47- ห้าไบต์ ดูเหมือนว่า llhuii ได้ค้นพบบางสิ่งที่มหัศจรรย์อย่างแท้จริงซึ่งทำให้นักกอล์ฟ Python แข็งแกร่งจำนวนมากมานานกว่า 2 ปี การประหยัด 4 หรือ 5 ไบต์มีขนาดใหญ่มากสำหรับการเล่นกอล์ฟระยะสั้น ฉันยังอยู่ที่ 47 ไบต์ ฉันหวังว่าเราจะสามารถไขปริศนานี้เป็นชุมชนได้ หากเราได้รับคำตอบร่วมกันฉันจะส่งมันภายใต้ชื่อของทุกคนที่ร่วมให้ข้อมูล คำตอบสำหรับคำถามนี้อาจเป็นโค้ดหรือแนวคิดใหม่หรือการวิเคราะห์ หากคุณเป็น llhuii โปรดอย่าทำลายมันสำหรับเรา แม้ว่าการส่งจะไม่ถูกเปิดเผยเนื่องจากปัญหานี้ไม่มีที่สิ้นสุด แต่เราได้รับโอกาสในการขายจำนวนหนึ่ง การส่งผลงานชนะเลิศนั้นใช้เวลา 0.1699 วินาทีในการวิ่งนานกว่าระยะเวลาอื่น ๆ ซึ่งแนะนำวิธีการที่ไม่มีประสิทธิภาพ จากสถิติไบต์ของอักขระ …

27
หินที่ซื่อสัตย์, กระดาษ, กรรไกร
หลายคนคิดว่า RPS เป็นเกมแห่งโอกาส หากผู้เล่นทั้งสองเล่นกันอย่างไม่คาดคิดกลยุทธ์ที่ดีที่สุดคือเล่นแบบสุ่ม อย่างไรก็ตามขอแนะนำการคาดเดาเล็กน้อย บอทแต่ละคนจะมีโอกาสบอกบอทคนอื่น ๆ ว่ากำลังจะเล่นพร้อมกัน จากนั้นก็มีการหยุดชั่วคราวที่บอทแต่ละคนจะรู้ว่าผู้เล่นคนอื่นประกาศอะไร ถ้ามันเล่นอาวุธนั้นมันประกาศว่ามันจะทำคะแนนหนึ่งจุดนอกเหนือจากคะแนนสำหรับการสูญเสียหรือชนะ การชนะนั้นมีค่าสองคะแนนการเสมอหนึ่งจุดและการสูญเสีย 0 คะแนน Honest Bot Dishonest Win 3 2 Draw 2 1 Loss 1 0 มันเป็นไปเพื่อประโยชน์ที่ดีที่สุดของคุณที่จะซื่อสัตย์ (แต่ยังเพื่อให้แน่ใจว่าฝ่ายตรงข้ามของคุณไม่เชื่อคุณ) การแข่งขันจะมีการเล่นในรูปแบบโรบินกลมและมีวัตถุประสงค์เพื่อเพิ่มคะแนนรวมของคุณในการแข่งขันที่คุณเล่น รูปแบบ I / O: บอทของคุณจะเป็นฟังก์ชั่น Python 2.7 ที่มีอาร์กิวเมนต์ 4 ตัวและจะต้องมีชื่อที่ไม่ซ้ำกัน (ซึ่งจะใช้เพื่อแสดงการส่งของคุณ) ข้อโต้แย้งสองข้อแรกจะเป็นไปตามลำดับคือการเคลื่อนไหวที่ผ่านมาของคู่ต่อสู้ตามมาด้วยการเคลื่อนไหวที่ผ่านมาของคุณ สิ่งเหล่านี้จะเป็นรายการตามลำดับจากรอบแรกไปยังรอบล่าสุดโดยแต่ละดัชนีมีรายการที่มีการย้ายคู่ต่อสู้ที่อ้างว่าพวกเขาจะทำตามด้วยการย้ายที่พวกเขาทำจริง ข้อโต้แย้งสองข้อถัดไปจะอนุญาตให้บอตของคุณพิจารณาว่านี่เป็นรอบ "ซื่อสัตย์" หรือรอบ "จริง" หากเป็นรอบ "ซื่อสัตย์" พวกเขาทั้งคู่จะไม่ใช่ ถ้ามันเป็นรอบ "ของจริง" …

30
เกมลูกเต๋า แต่หลีกเลี่ยงหมายเลข 6 [ปิด]
ทัวร์นาเมนต์จบ! การแข่งขันสิ้นสุดแล้ว! การจำลองขั้นสุดท้ายดำเนินการในตอนกลางคืนรวมทั้งหมดเกม ผู้ชนะคือChristian Sieversด้วย bot OptFor2X ของเขา คริสเตียน Sievers ยังมีการจัดการเพื่อรักษาความปลอดภัยสถานที่ที่สองกับกบฎ ขอแสดงความยินดี! ด้านล่างคุณสามารถดูรายการคะแนนสูงอย่างเป็นทางการสำหรับการแข่งขัน3 ∗ 1083∗1083*10^8 หากคุณยังต้องการเล่นเกมคุณมีความยินดีอย่างยิ่งที่จะใช้คอนโทรลเลอร์ที่โพสต์ด้านล่างและใช้รหัสในเกมเพื่อสร้างเกมของคุณเอง ฉันได้รับเชิญให้เล่นเกมลูกเต๋าซึ่งฉันไม่เคยได้ยินมาก่อน กฎนั้นง่าย แต่ฉันคิดว่ามันจะสมบูรณ์แบบสำหรับความท้าทายของ KotH กฎระเบียบ จุดเริ่มต้นของเกม ตายไปรอบ ๆ โต๊ะและทุกครั้งที่ถึงตาคุณคุณจะต้องขว้างผู้ตายหลาย ๆ ครั้งตามที่คุณต้องการ อย่างไรก็ตามคุณต้องโยนอย่างน้อยหนึ่งครั้ง คุณติดตามผลรวมของการโยนทั้งหมดสำหรับรอบของคุณ หากคุณเลือกที่จะหยุดคะแนนสำหรับรอบนั้นจะถูกเพิ่มเข้าไปในคะแนนรวมของคุณ ดังนั้นทำไมคุณไม่หยุดโยนความตาย? เพราะถ้าคุณได้ 6 คะแนนของคุณตลอดทั้งรอบจะกลายเป็นศูนย์และตายต่อไป ดังนั้นเป้าหมายเริ่มต้นคือการเพิ่มคะแนนของคุณโดยเร็วที่สุด ใครคือผู้ชนะ เมื่อผู้เล่นคนแรกรอบโต๊ะถึง 40 คะแนนขึ้นไปรอบสุดท้ายจะเริ่ม เมื่อรอบสุดท้ายได้เริ่มขึ้นทุกคนยกเว้นคนที่ริเริ่มรอบสุดท้ายจะได้รับเทิร์นอีกครั้ง กฎสำหรับรอบสุดท้ายเป็นเช่นเดียวกับรอบอื่น ๆ คุณเลือกที่จะขว้างหรือหยุด อย่างไรก็ตามคุณรู้ว่าคุณไม่มีโอกาสชนะถ้าคุณไม่ได้รับคะแนนสูงกว่าคะแนนก่อนหน้านี้ในรอบสุดท้าย แต่ถ้าคุณไปไกลเกินไปคุณอาจได้ 6 อย่างไรก็ตามยังมีกฎอีกข้อที่ต้องคำนึงถึง หากคะแนนรวมปัจจุบันของคุณ (คะแนนก่อนหน้านี้ของคุณ + …

30
หุ่นยนต์รูเล็ต: เดิมพันหุ่นยนต์เดิมพันสูง
อันดับสุดท้าย + ---------------------------------- + --------- + ---- ----- + --------- + + ---------------------------- | ชื่อ | คะแนน | WinRate | TieRate | ความน่าจะเป็นกำจัด + ---------------------------------- + --------- + ---- ----- + --------- + + ---------------------------- | 1. SarcomaBotMk11 | 0.06333 | 6.13% | 0.41% | [42 24 10 8 6 …

30
มีคนรู้จักกันมากมาย
โดนัลด์รัทมสเฟลด์อดีตรัฐมนตรีกลาโหมของสหรัฐอเมริกาซึ่งเป็นที่รู้จักอย่างแพร่หลายในวลี ที่นี่เรากำลังจะกลั่นความคิดเห็นของเขาลงในบทที่สี่บรรทัด เอาท์พุทข้อความนี้โดยเฉพาะ: known knowns known unknowns unknown knowns unknown unknowns การใช้อักษรตัวพิมพ์ใหญ่ไม่สำคัญ (ตัวอย่างเช่นใช้ได้Known unKnowns) และบรรทัดใหม่ต่อท้ายบรรทัดเดียวเป็นที่ยอมรับ แต่ไม่อนุญาตการเปลี่ยนแปลงการจัดรูปแบบอื่น ๆ นั่นหมายความว่ามีช่องว่างเดียวระหว่างคำและLF(59 ไบต์) หรือCR/LF(62 ไบต์) ระหว่างบรรทัด กฎระเบียบ ยอมรับได้ทั้งโปรแกรมหรือฟังก์ชั่น หากฟังก์ชั่นคุณสามารถส่งคืนผลลัพธ์มากกว่าการพิมพ์ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม นี่คือรหัส - กอล์ฟเพื่อให้ใช้กฎการเล่นกอล์ฟตามปกติทั้งหมดและรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ

26
สร้างคำศัพท์
ความท้าทาย งานของคุณคือการสร้างโปรแกรมที่รับอินพุตสตริงใด ๆ และส่งออกอินพุตในรูปแบบกำลังสอง สตริงว่างควรส่งคืนสตริงว่าง ตัวอย่าง รับอินพุต: golf โปรแกรมของคุณควรส่งออก: golf o l l o flog การป้อนข้อมูล: 123 เอาท์พุท: 123 2 2 321 การป้อนข้อมูล: a เอาท์พุท: a การป้อนข้อมูล: Hello, world! เอาท์พุท (สังเกตช่องว่างระหว่าง, และ w - ช่องว่างไม่ใช่แค่ขึ้นบรรทัดใหม่): Hello, world! e d l l l r o o , w w , o …

3
แก้ลูกบาศก์ของรูบิค
เขียนโปรแกรมที่สั้นที่สุดที่แก้คิวบ์ของรูบิค (3 * 3 * 3) ภายในระยะเวลาที่เหมาะสมและเคลื่อนไหวได้ (พูดได้สูงสุด 5 วินาทีในเครื่องของคุณและน้อยกว่า 1,000 ครั้ง) อินพุตอยู่ในรูปแบบ: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (อินพุตเฉพาะนี้แสดงถึงคิวบ์ที่แก้ไขแล้ว) 12 สตริงอักขระ 2 ตัวแรกคือขอบในตำแหน่ง UF, UR, ... BL (U = ขึ้น, F = ด้านหน้า, R = …

22
พื้นฐาน ASCII Tallies
หัวข้อสำรอง: นับประโยคที่เรือนจำของคุณติดไว้ที่ผนัง กำหนดตัวเลขการnส่งออกนับเป็นกลุ่มแบบดั้งเดิม 5 ต่อกลุ่มและ 50 ต่อแถว ตัวอย่าง 1 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| …
36 code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

23
ภาวะที่กลืนไม่เข้าคายไม่ออกที่มีเสียงดังของนักโทษ
ในการท้าทายนี้คุณจะเล่นสถานการณ์ที่ไม่แน่นอนของนักโทษที่มีเสียงดัง ขึ้นเขียงนักโทษเป็นสถานการณ์ในทฤษฎีเกมที่มีผู้เล่นสองคนแต่ละคนมีสองตัวเลือก: ความร่วมมือหรือมีความบกพร่อง ผู้เล่นแต่ละคนทำได้ดีกว่าสำหรับตัวเองหากพวกเขาบกพร่องกว่าถ้าพวกเขาร่วมมือกัน แต่ผู้เล่นทั้งสองต้องการผลลัพธ์ที่ผู้เล่นทั้งสองร่วมมือกันกับผู้เล่นที่ทั้งคู่เสีย ภาวะที่กลืนไม่เข้าคายไม่ออกของนักโทษที่ซ้ำแล้วซ้ำกันเป็นเกมเดียวกันยกเว้นคุณเล่นกับคู่ต่อสู้คนเดิมซ้ำแล้วซ้ำเล่าและคุณรู้ว่าคู่ต่อสู้ของคุณเคยเล่นในอดีต เป้าหมายของคุณคือการสะสมคะแนนสูงสุดให้ตัวเองเสมอไม่ว่าฝ่ายตรงข้ามจะทำเช่นไร ภาวะที่กลืนไม่เข้าคายไม่ออกซ้ำแล้วซ้ำอีกของเสียงดังขึ้นส่งเสียงดังในการสื่อสาร ความรู้ของคุณเกี่ยวกับสิ่งที่คู่ต่อสู้ของคุณได้เล่นในอดีตจะมีเสียงรบกวนบ้าง คุณจะรู้ว่าสิ่งที่คุณทำเคลื่อนไหวในอดีต อัตราเสียงนั้นคงที่ตลอดหนึ่งรอบกับคู่ต่อสู้เดียวกัน แต่ต่างกันระหว่างรอบที่แตกต่างกัน ท้าทาย ในการท้าทายนี้คุณจะเขียนโปรแกรม Python 3 เพื่อเล่นวิกฤติของนักโทษที่มีเสียงดัง โปรแกรมของคุณจะได้รับสามอินพุต: การเคลื่อนไหวของคุณเองโดยไม่ต้องใช้การพลิกแบบสุ่ม การเคลื่อนไหวของฝ่ายตรงข้ามโดยใช้การโยนแบบสุ่ม ตัวแปรสถานะซึ่งเริ่มต้นเป็นรายการว่างในแต่ละรอบและคุณสามารถแก้ไขได้หากคุณต้องการ คุณสามารถละเว้นสิ่งนี้หากคุณไม่ต้องการใช้ โปรแกรมของคุณควรส่งออก'c'ไปให้ความร่วมมือหรือมี'd'ข้อบกพร่อง ตัวอย่างเช่นต่อไปนี้เป็นโปรแกรมที่ให้ความร่วมมือหากฝ่ายตรงข้ามได้ให้ความร่วมมืออย่างน้อย 60% ของเวลาในอดีตหลังจากการใช้การสุ่มแบบสุ่มและ 10 ครั้งแรก: def threshold(my_plays, their_flipped_plays, state): if len(their_flipped_plays) < 10: return 'c' opp_c_freq = their_flipped_plays.count('c')/len(their_flipped_plays) if opp_c_freq > 0.6: return 'c' else: return 'd' …

4
การพิมพ์ที่แข็งแกร่งของ FOIL Python!
งานของคุณคือการเขียนโค้ดใน Python 2 หรือ 3 เพื่อให้นิพจน์นี้: (a+b)(c+d) == a*c + b*c + a*d + b*d จะประเมินTrueโดยไม่เพิ่มข้อยกเว้นใด ๆ ชี้แจงผมจะคัดลอกโค้ดของคุณลงในไฟล์แล้วไฟล์from แล้วฉันจะพิมพ์นิพจน์ลงคอนโซลและตรวจสอบว่ามันเป็นimport *True นี่คือรหัสกอล์ฟดังนั้นคำตอบที่มีความยาวสั้นที่สุด (เป็นไบต์) จะชนะ
35 code-golf  python 

6
Python แก้ปัญหาชั่วคราวสำหรับการมอบหมายในแลมบ์ดา
นี่เป็นคำถามเคล็ดลับสำหรับการเล่นกอล์ฟใน Python ใน Python golfing เป็นเรื่องปกติที่การส่งจะเป็นฟังก์ชั่นที่กำหนดเป็นแลมบ์ดา ตัวอย่างเช่น, f=lambda x:0**x or x*f(x-1) คำนวณแฟคทอเรียลของ x รูปแบบแลมบ์ดามีข้อดีสองประการ : หม้อไอน้ำของf=lambda x:...หรือlambda x:...สั้นกว่าdef f(x):...return...หรือx=input()...print... การเรียกซ้ำสามารถใช้เพื่อวนซ้ำด้วยค่าใช้จ่ายในไบต์น้อย อย่างไรก็ตามแลมบ์ดามีข้อเสียเปรียบครั้งใหญ่ที่อนุญาตให้ใช้เพียงนิพจน์เดียวโดยไม่มีคำสั่ง โดยเฉพาะอย่างยิ่งนี่หมายถึงไม่มีการมอบหมายใดc=chr(x+65)ๆ นี่เป็นปัญหาเมื่อมีนิพจน์ยาวที่ต้องอ้างอิงค่าสองครั้ง (หรือมากกว่า) การมอบหมายเช่นE=enumerateนั้นเป็นไปได้นอกฟังก์ชั่นหรือเป็นอาร์กิวเมนต์ที่เป็นทางเลือก แต่ถ้ามันไม่ได้ขึ้นอยู่กับอินพุตของฟังก์ชัน อาร์กิวเมนต์ที่เป็นทางเลือกเช่นf=lambda n,k=min(n,0):...ล้มเหลวเนื่องจากอินพุตnไม่ได้ถูกกำหนดเมื่อkถูกประเมิน ณ เวลานิยาม ผลที่ได้คือบางครั้งคุณดูดซ้ำการแสดงออกยาวในแลมบ์ดาเพราะทางเลือกคือแลมบ์ดาที่ไม่ยืดเยื้อ lambda s:s.strip()+s.strip()[::-1] def f(s):t=s.strip();print t+t[::-1] จุดแบ่งแม้เป็นเรื่องเกี่ยวกับ 11 ตัว ( รายละเอียด ) ที่ผ่านมาที่คุณเปลี่ยนไปหรือdef programเปรียบเทียบสิ่งนี้กับจุดแตกหักคู่ปกติ 5 สำหรับการแสดงออกซ้ำ: range(a)+range(b) r=range;r(a)+r(b) print s[1:],s[1:]*2 …
34 code-golf  tips  python 

9
อัลกอริทึมการเรียงลำดับ
มี "อัลกอริทึมการเรียงลำดับ" บางครั้งเรียกว่าการเรียงลำดับสตาลินเพื่อเรียงลำดับรายการคุณเพียงแค่ลบองค์ประกอบออกจากรายการจนกว่าจะเรียงลำดับตามลำดับที่เพิ่มขึ้น ตัวอย่างเช่นรายการ [1, 2, 4, 5, 3, 6, 6] เมื่อ "เรียง" โดยใช้การเรียงลำดับสตาลินจะกลายเป็น [1, 2, 4, 5, 6, 6] ทั้งสามถูกลบเพราะมันไม่เป็นระเบียบ ตอนนี้เห็นได้ชัดว่ามีหลายวิธีในการลบองค์ประกอบเพื่อจัดเรียงรายการ ตัวอย่างเช่นรายการใด ๆ ที่มีองค์ประกอบน้อยกว่าสองรายการจะต้องเรียงลำดับดังนั้นเพียงแค่ลบองค์ประกอบมากพอที่สุ่มสี่สุ่มห้าเราสามารถเรียงลำดับรายการได้เสมอ เนื่องจากเป็นกรณีนี้เราจึงสนใจเฉพาะผลลัพธ์ที่ยาวที่สุดเท่าที่เป็นไปได้จากการเรียงลำดับของสตาลิน งานของคุณจะใช้รายการของจำนวนเต็มบวกและส่งออกความยาวของรายการเรียงลำดับ (เพิ่มขึ้น) ที่ยาวที่สุดที่สามารถมาถึงได้โดยการเอาองค์ประกอบออกจากรายการต้นฉบับ นั่นคือความยาวของรายการย่อยที่เรียงลำดับยาวที่สุด (อาจไม่ต่อเนื่องกัน) รายการที่เรียงลำดับสามารถมีองค์ประกอบเดียวกันมากกว่าหนึ่งครั้งในแถว คุณไม่จำเป็นต้องสนับสนุนรายการว่างเปล่าเว้นแต่ว่าโปรแกรมของคุณจะว่างเปล่า เกณฑ์การให้คะแนน คำตอบของคุณจะได้รับคะแนนตามความยาวของการเรียงลำดับสตาลินที่ยาวที่สุดเท่าที่จะเป็นไปได้ โปรแกรมจะถูกตีความเป็นลำดับของไบต์แทนที่จะเป็นตัวอักษรและลำดับของโปรแกรมจะเป็นแบบธรรมชาติที่เกิดขึ้นโดยการตีความจำนวนไบต์เป็นตัวเลข คะแนนต่ำกว่าดีกว่า นี่ไม่ใช่รหัสกอล์ฟ ต่อไปนี้เป็นเครื่องมือที่ไม่ซับซ้อนเพื่อช่วยให้คุณได้คะแนนคำตอบของคุณ กรณีทดสอบ [1, 2, 4, 5, 3, 6, 6] -> 6 [19, …

30
การประมูลที่ปิดผนึกราคาแรก
ผลสุดท้าย การแข่งขันสิ้นสุดแล้ว ขอแสดงความยินดีด้วยhard_coded! ข้อเท็จจริงที่น่าสนใจ: ในการประมูล 31600 จาก 40920 การประมูล (77.2%) ผู้ชนะรอบแรกชนะการประมูลมากที่สุดในรอบนั้น หากบอทตัวอย่างถูกรวมอยู่ในการแข่งขันเก้าอันดับแรกจะไม่เปลี่ยนแปลงยกเว้นว่าAverageMineและheuristจะสลับตำแหน่งของพวกเขา ผลลัพธ์ 10 อันดับแรกของการประมูล: [2, 2, 3, 3] 16637 [0, 3, 3, 4] 7186 [1, 3, 3, 3] 6217 [1, 2, 3, 4] 4561 [0, 1, 4, 5] 1148 [0, 2, 4, 4] 1111 [2, 2, 2, 4] 765 …

7
ฝึกซ้อมกอล์ฟ: Python [ปิด]
นี่เป็นความท้าทายของการฝึกฝนการเพิ่มประสิทธิภาพของกอล์ฟใน Python ซึ่งเป็นเทคนิคและทางลัดที่นำมาใช้ซ้ำเพื่อกำจัดอักขระบางตัว หลายคนจะคุ้นเคยกับนักกอล์ฟงูหลามและใช้ความคิดร่วมกันจากเคล็ดลับหลาม คุณลักษณะเหล่านี้บางอย่างใช้คุณสมบัติเฉพาะของ Python ที่คุณอาจไม่ทราบว่ามีอยู่เว้นแต่คุณจะเห็นคุณลักษณะเหล่านี้ดังนั้นให้ดูที่เคล็ดลับหากคุณติดขัด เป้าหมาย: มีปัญหาสิบประการแต่ละตัวอย่างข้อมูลอ้างอิงของรหัส Python เพื่อให้คุณสามารถปรับให้เหมาะสมและคำอธิบายของรหัสจะเกิดขึ้น เป้าหมายของคุณคือเขียนใหม่ให้สั้นลง แต่ยังเทียบเท่ากับการใช้งานได้ คะแนนของคุณซึ่งคุณกำลังพยายามย่อให้เล็กสุดคือความยาวทั้งหมดของโค้ดของคุณตัวอย่างทั้งหมด ความยาวของตัวอย่างข้อมูลอ้างอิงคือ 150 Tiebreaker เป็นโพสต์แรกสุด การโพสต์คำตอบ:สำหรับแต่ละปัญหาให้โพสต์โค้ดและจำนวนตัวอักษร คุณสามารถโพสต์ข้อมูลอ้างอิงได้หากคุณไม่พบข้อมูลที่สั้นลง คุณตั้งใจจะไม่ดูคำตอบของคนอื่นเมื่อคุณโพสต์ โปรดติดแท็กสปอยเลอร์แต่ละปัญหารวมถึงจำนวนตัวละครแต่ละตัว คุณสามารถออกจากการนับทั้งหมดที่เปิดเผย อย่าลังเลที่จะยกเลิกการแก้ปัญหาของคุณตอนนี้หรือโพสต์โซลูชั่นใหม่ที่ไม่ทำลาย รายละเอียดเกี่ยวกับความถูกต้องตามกฎหมาย: การทำงานที่เท่าเทียมกันหมายถึงรหัสสามารถถูกแทนที่ในโปรแกรมโดยไม่มีผลกระทบต่อพฤติกรรมของมัน (ไม่สนใจสิ่งต่าง ๆ เช่นการใช้หน่วยความจำและความสำคัญของโอเปอเรเตอร์ ==การแสดงออกควรผลิตที่มีค่าเทียบเท่าโดย 1.0==1==Trueโปรดสังเกตว่า รหัสของคุณไม่ควรมีผลข้างเคียงเว้นแต่จะระบุไว้เป็นอย่างอื่น ฉันไม่ได้ตั้งใจที่จะให้ปัญหาเฉพาะรุ่น แต่ในกรณีที่คุณสามารถระบุรุ่น Python สำหรับแต่ละปัญหา ปัญหาที่ 1:วนซ้ำอย่างต่อเนื่องตราบใดที่รายการLมีองค์ประกอบอย่างน้อย 7 รายการ # 16 chars while len(L)>=7: ปัญหาที่ 2 : ตรวจสอบว่าทั้งสองลอยxและyทั้งสองเป็นบวก # …
31 code-golf  python 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.