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

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

2
รหัสหลามที่เร็วที่สุดเพื่อค้นหากลุ่มคำที่ชนะในเกมนี้
นี่คือเกมคำศัพท์จากชุดการ์ดกิจกรรมสำหรับเด็ก ด้านล่างกฎคือรหัสเพื่อค้นหา triplet ที่ดีที่สุดโดยใช้ / usr / share / dict / words ฉันคิดว่ามันเป็นปัญหาการเพิ่มประสิทธิภาพที่น่าสนใจและฉันสงสัยว่าผู้คนสามารถค้นหาการปรับปรุงได้หรือไม่ กฎระเบียบ เลือกตัวอักษรหนึ่งตัวจากแต่ละชุดด้านล่าง เลือกคำโดยใช้ตัวอักษรที่เลือก (และอื่น ๆ ) ทำคะแนนคำว่า ตัวอักษรแต่ละตัวจากชุดที่เลือกจะได้รับหมายเลขที่แสดงพร้อมชุด (รวมซ้ำ) AEIOU นับ 0 ตัวอักษรอื่น ๆ ทั้งหมดคือ -2 ทำซ้ำขั้นตอนที่ 1-3 ด้านบน (ไม่ใช้ตัวอักษรซ้ำในขั้นตอนที่ 1) อีกสองครั้ง คะแนนสุดท้ายคือผลรวมของคะแนนสามคำ ชุด (ชุดที่ 1 คะแนน 1 คะแนนชุดที่ 2 คะแนน 2 คะแนน ฯลฯ ) LTN RDS …

15
Logic Gates ด้วยตนเอง
สร้างโปรแกรมที่จำลองประตูตรรกะพื้นฐาน การป้อนข้อมูล:ทุกคำหมวกตามด้วยเลขฐานสอง 2 1 OR 1 0บาทคั่นด้วยช่องว่างเช่น ประตูOR, AND, NOR, NAND, XORและXNORมีความจำเป็น เอาท์พุท:สิ่งที่เอาท์พุทของประตูตรรกะที่ป้อนจะได้รับตัวเลขสอง: 1 หรือ 0 ตัวอย่าง: AND 1 0กลาย0 XOR 0 1เป็น1 OR 1 1กลาย1 NAND 1 1เป็นกลายเป็น0 นี่คือ codegolf ดังนั้นรหัสที่สั้นที่สุดชนะ
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

30
กู้กำลังสำคัญจากพลังพิเศษ
คำจำกัดความ : พลังพิเศษเป็นจำนวนธรรมชาติที่สามารถแสดงในรูปแบบ p nโดยที่ p คือจำนวนเฉพาะและ n เป็นจำนวนธรรมชาติ ภารกิจ : เมื่อได้รับพลังพิเศษ p n > 1 ให้คืนค่านายกรัฐมนตรี ทดสอบ : input output 9 3 16 2 343 7 2687 2687 59049 3 เกณฑ์การให้คะแนน : นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดในการชนะไบต์
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

1
องค์ประกอบทั่วไปของรายการใน Python
นี่คือคำถามเคล็ดลับสำหรับการเล่นกอล์ฟใน Python ซึ่งอยู่ในหัวข้อหลัก ฉันกำลังมองหาวิธีที่สั้นที่สุดเพื่อให้ได้องค์ประกอบทั้งหมดที่พบบ่อยที่สุดของรายการใน Python ในวิธีที่สั้นที่สุด นี่คือสิ่งที่ฉันได้ลองสมมติว่ารายการอยู่ในตัวแปรที่เรียกว่าl: from statistics import* mode(l) การทำเช่นนี้จะเกิดข้อผิดพลาดหากมีหลายโหมด max(l,key=l.count) คืนนี้มีเพียง 1 รายการฉันต้องได้องค์ประกอบทั้งหมดที่มีค่ามากที่สุด from collections import* Counter(l).most_common() ส่งคืนรายการของ tuples ของ(element, count)เรียงตามจำนวน จากนี้ฉันสามารถดึงองค์ประกอบทั้งหมดที่มีจำนวนที่สอดคล้องกันเท่ากับครั้งแรก แต่ฉันไม่เห็นวิธีการเล่นกอล์ฟที่ดีกว่านี้มาก: from collections import* c=Counter(l).most_common() [s for s,i in c if i==c[0][1]] ฉันแน่ใจว่ามีวิธีที่สั้นกว่า! นอกจากนี้หากสามารถทำได้โดยไม่ต้องกำหนดค่าตัวแปรหรือใช้หลายครั้งlฉันสามารถเก็บรหัสที่เหลือไว้เป็นนิพจน์แลมบ์ดาเพื่อประหยัดไบต์ได้มากขึ้น แก้ไข: ตามข้อเสนอแนะของ @ Uriel เราสามารถทำได้: {s for s in l if …
13 code-golf  tips  python 

7
ตะเกียบกลายเป็นจุด
กฎพื้นฐาน (แตกต่างจากของฉัน) เรื่องราว ปี 4579 เป็นมนุษย์ตอนนี้มี 2 มือแต่ละมือมี 1,100 นิ้ว ตะเกียบได้กลายเป็นจุดด้อย และ @Dennis ก็มีตัวแทนมากขึ้นแล้ว @Martin ... วงกลมสีแดงที่วาดด้วยมือตอนนี้ถูกลดระดับลง ... Jon Skeet ได้ตี 2 ล้านล้านตัวแทนในทุกไซต์ SE ... ใช่น่ากลัวฉันรู้ Chopsticks เป็นเกมมือที่ได้รับการแก้ไขแล้ว เพื่อให้ได้รอบนี้ฉันได้สร้างมันกลายพันธุ์ ฉันเพิ่มปริมาณนิ้ว กฎของเกม วิธีการเล่นนี้ ทุกคนเริ่มต้นด้วย 2 มือ มือแต่ละข้างมี 1001 นิ้ว ทุกมือเริ่มต้นด้วย 1 (หนึ่ง) นิ้วในแต่ละมือ ในช่วงเทิร์นของคุณคุณสามารถ "ตี" มือผู้เล่นอื่น ในการตีคุณเลือก 1 ในมือของคุณเพื่อตีด้วยและ 1 ในมือเพื่อตี …

4
กลยุทธ์สำหรับการแทนค่าจำนวนเต็มขนาดใหญ่ที่กำหนดโดยใช้นิพจน์ทางคณิตศาสตร์
ฉันมีจำนวนที่เฉพาะเจาะจงในใจ แต่มันเป็นส่วนหนึ่งของความท้าทายที่ฉันทำและฉันไม่ต้องการให้คนทำ (ทั้งหมด) สำหรับฉัน นี่คือตัวเลขที่มีตัวเลขเหมือนกัน แต่มีการสับแบบ: 5713167915926167134578399473447223554460066674314639815391281352328315313091488448321843 8892917486601064146636679920143691047671721184150386045081532202458651561779976236919751 5521854951599379666116678853267398393892536121049731949764192014193648608210652358947001 6332620900065461061195026191178967128001712341637591690941978871368243245270800684616029 6679555942849366434586090627998161441134473428845367022486230724219981658438108844675033 4461550796750244527407413996606134735852639191026103378962082622204359677030054592798927 4145951979523473408718011778751084514127053772614511042703365596651912104541233491744530 87457854312602843967491787086250478422477028164189 จำนวนมี 666 หลัก (ทศนิยม) เพราะฉันใช้ Python จำนวนเต็ม (หรือความยาวด้านเทคนิค) เป็น bignums โดยอัตโนมัติ ฉันมี 255 ตัวอักษรให้ใช้และฉันต้องอธิบายหมายเลขเดียวกัน คำอธิบายมีขึ้นเพื่อให้ทำงานผ่าน eval () เพื่อสร้างหมายเลขเดิม ฉันควรมองกลยุทธ์อะไร

1
เชื่อมต่อรายการของสตริง item-wise ใน Python
นี่คือเคล็ดลับคำถามสำหรับการเล่นกอล์ฟในหลาม สมมติว่าคุณมีสองรายการของสตริงและคุณต้องการเชื่อมต่อรายการที่เกี่ยวข้องจากแต่ละรายการ เช่นกับa=list("abcd")และการคำนวณb=list("1234")["a1","b2","c3","d4"] นี่เป็นเรื่องเล็กน้อยในภาษาการเขียนโปรแกรมแบบอาเรย์ ยกตัวอย่างเช่นในภาษาของการเล่นกอล์ฟของฉันPipa.bรหัสเป็นเพียง แต่ใน Python มันไม่ง่ายเลย อาจใช้วิธี Pythonic zipและรายการเข้าใจ (25 ตัวอักษร): [x+y for x,y in zip(a,b)] อีกวิธีคือmapฟังก์ชั่นแลมบ์ดา (23): map(lambda x,y:x+y,a,b) ต่อไปนี้เป็นคำย่อที่ฉันพบ (21): map("".join,zip(a,b)) มีวิธีการที่สั้นกว่านี้ไหม? สมมติว่ารายการนั้นมีความยาวเท่ากันและสามารถทำซ้ำได้บางอย่างเป็นสิ่งที่จำเป็น (ดังนั้นmapวัตถุจึงใช้ได้ใน Python 3)
13 code-golf  tips  python 

3
Auto-meta-รหัสกอล์ฟ
คุณเบื่อความท้าทาย codegolf ทั้งหมด ดังนั้นคุณตัดสินใจที่จะเขียนโปรแกรมที่จะเขียนรหัส Python ให้คุณโดยอัตโนมัติ มี 3 กรณีทดสอบ: print quickSort([0,7,3,-1,8,10,57,2]) def quickSort(arr): less = [] pivotList = [] more = [] if len(arr) <= 1: return arr else: pivot = arr[0] for i in arr: if i < pivot: less.append(i) elif i > pivot: more.append(i) else: pivotList.append(i) less = …
13 python  metagolf 

4
รับคะแนน pylint ต่ำสุดที่เป็นไปได้ภายใน 128 ไบต์ของ python
ไพลินมีคะแนนไม่ต่ำกว่าที่จะให้รหัสของคุณ มันใช้ตัวชี้วัดต่อไปนี้เพื่อให้คะแนนรหัสด้วยคะแนนสูงสุดเป็น 10: 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) ด้วย python 3.6 ลองและเขียนโปรแกรมที่: เอาต์พุต "Hello World" เมื่อรันจากบรรทัดคำสั่ง (เช่นpython script.py) และไม่มีเอาต์พุตอื่น รับคะแนนต่ำสุดที่เป็นไปได้pylintด้วยการตั้งค่าเริ่มต้น (เช่นpylint script.py) มีขนาดน้อยกว่าหรือเท่ากับ 128 ไบต์อย่างเคร่งครัด

2
ฉันจะย่อรหัสหลามนี้ได้อย่างไร
นี่คือรหัสที่ฉันต้องการย่อ n=input() while n: s=raw_input() x,r,g,b=(int(x) for x in s.split()) a=x/r%2 c=x/g%2 d=x/b%2 r=((a*10+c)*10)+d if r==0:e="black" elif r==100:e="red" elif r==1:e="blue" elif r==10:e="green" elif r==101:e="magenta" elif r==11:e="cyan" elif r==110:e="yellow" else:e="white" print(e) n-=1 อินพุต: 3 4643 5913 4827 9752 5583 5357 5120 9400 2025 5475 4339 8392 เอาท์พุท: black yellow black
12 code-golf  tips  python 

19
KOTH - โหลด RPS
การประกวดเปิดอย่างถาวร - อัปเดต 10 สิงหาคม 2560 แม้ว่าในวันที่ 5 มิถุนายน 2017 ฉันประกาศผู้ชนะ (ใครจะถูกเก็บไว้เป็นคำตอบที่ดีที่สุด) ฉันจะได้รับบอทใหม่และอัปเดตผลลัพธ์ ผล 5 มิถุนายน ขอแสดงความยินดีกับผู้ใช้1502040 เนื่องจากไม่มีความสัมพันธ์ฉันจะแสดงเฉพาะ% ของการแข่งขันที่ชนะ Statistician2- 95.7% Fitter- 89.1% Nash- 83.9% Weigher- 79.9% ExpectedBayes- 76.4% AntiRepeater- 72.1% Yggdrasil- AntiGreedy64.1 % - 64.1% Reactor- 59.9% NotHungry- 57.3% NashBot- 55.1% Blodsocer- 48.1% BestOfBothWorlds- 48.4% GoodWinning- 40.9 Rockstar% ArtsyChild- …

5
เพิ่มความคิดเห็นไปยังสคริปต์ Python และทำให้เป็น "โปรแกรม Python / C ++" สองภาษา
รับสคริปต์ Python 3 ต่อไปนี้: def greet(): print("Hello, world!") greet() เติมบางบรรทัดลงในไฟล์ข้อความนี้เพื่อให้สามารถดำเนินการทั้งสองเป็นโปรแกรม Python ได้เช่นเดียวกับการคอมไพล์และเรียกใช้เป็นโปรแกรม C ++ ที่สร้างผลลัพธ์เดียวกัน Hello, world! (รวมถึงการขึ้นบรรทัดใหม่ในตอนท้าย): $ python3 bilingual.py.cpp Hello, world! $ g++ bilingual.py.cpp && ./a.out Hello, world! การแก้ปัญหาจะได้คะแนนจากจำนวนตัวอักษรที่ไม่ใช่ช่องว่างของโปรแกรมทั้งหมดรวมถึงสคริปต์ Python: sed 's/\s//g' bilingual.py.cpp|wc -c

1
เขียนสคริปต์ความตื่นตระหนกเพื่อรักษาความปลอดภัยระยะไกลของ Mac Pro จากผู้ใช้ในพื้นที่ที่ไม่น่าไว้วางใจ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา สถานการณ์ สมมติว่าฉันอนุญาตให้ผู้ดูแลระบบ "Shady Sam" เข้าถึงเวิร์กสเตชันของฉันเพื่อทำงานด้านการดูแลระบบที่สำคัญใน Mac Pro ของฉันโดยให้รหัสผ่านการเข้าสู่ระบบรากชั่วคราวแก่พวกเขา (สมมติว่าพวกเขามีความน่าเชื่อถืออาจจะเป็นระบบผู้ดูแลระบบสำหรับ บริษัท ของฉัน.) จากสถานที่ห่างไกล (เช่นบ้าน) ฉันใช้แล็ปท็อป MacBook Pro เพื่อสังเกตกิจกรรมของ Sam และเรียนรู้วิธีทำงานด้วยตนเองผ่าน Remote Desktop (VNC) โดยไม่มีการเตือน Shady Sam ทำอะไรที่ขี้ขลาด! บางทีฉันอาจเห็นว่าเขากำลังพยายามลบข้อมูลออกจากฮาร์ดไดรฟ์ของฉันหรือแอบเข้าไปในโฟลเดอร์ที่ถูก จำกัด ฯลฯ ไม่ว่าจะเป็นการกระทำที่ขี้ขลาดฉันต้องการล็อค Shady Sam ออกทันทีและรักษาความปลอดภัยคอมพิวเตอร์ให้ดีที่สุดเท่าที่จะทำได้ เนื่องจากเราแชร์เมาส์และคีย์บอร์ดฉันจึงไม่สามารถทำการกระทำที่เชื่อถือได้จากภายในเดสก์ท็อประยะไกล (นอกจากนี้พวกเขาสามารถปิดการเชื่อมต่อได้) ฉันต้องเขียนสคริปต์และเรียกใช้จากระยะไกล ความท้าทาย อะไรคือสคริปต์ที่ดีที่สุด (เช่นpanicScript.shหรือpanicScript.py) …

1
ฉันเขียนรหัสกอล์ฟอย่างถูกต้องหรือไม่?
ฉันอยากรู้อยากเห็นถ้าฉันเป็นรหัสกอล์ฟอย่างถูกต้อง ฉันตั้งความท้าทายสำหรับตัวเองในการสร้างโปรแกรมแฮชขนาดเล็กเป็นคำสั่งเดียวใน Python ก่อนอื่นฉันเริ่มด้วย: from itertools import permutations from string import ascii_lowercase from random import sample def test(): chars = sample(ascii_lowercase, 9) sums = list(map(h, permutations(chars))) if len(set(sums)) == len(sums): print("unique results for permutations of given string") else: print("duplicate entries present in test results") def h(s): r = 0 for …
12 code-golf  tips  python 

1
ติดตั้งเลขทศนิยมแบบไบนารีของ IEEE 754 64- บิตผ่านการจัดการจำนวนเต็ม
(ฉันติดแท็กคำถาม "C" ในขณะนั้น แต่ถ้าคุณรู้ภาษาอื่นที่สนับสนุนสหภาพคุณสามารถใช้มันได้) งานของคุณคือการสร้างตัวดำเนินการทางคณิตศาสตร์สี่มาตรฐาน+ - * /สำหรับโครงสร้างต่อไปนี้: union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } เช่นว่าการดำเนินการของตัวเองเท่านั้นที่จะจัดการหรือเข้าถึงส่วนจำนวนเต็ม (ดังนั้นจึงไม่มีการเปรียบเทียบกับสองครั้งตลอดเวลาในระหว่างการดำเนินการอย่างใดอย่างหนึ่ง) และผลที่ได้คือเหมือนกัน (หรือเทียบเท่าตามหน้าที่ในกรณีของผลลัพธ์ที่ไม่ใช่ตัวเลขเช่นNaN) ราวกับว่าการดำเนินการทางคณิตศาสตร์ที่สอดคล้องกันถูกนำไปใช้โดยตรงกับdoubleแทน คุณอาจเลือกส่วนจำนวนเต็มเพื่อจัดการแม้กระทั่งการใช้ส่วนต่าง ๆ ในตัวดำเนินการที่แตกต่างกัน (คุณสามารถเลือกที่จะลบ "unsigned" ออกจากฟิลด์ใด ๆ ในสหภาพได้แม้ว่าฉันไม่แน่ใจว่าต้องการทำเช่นนั้นหรือไม่) คะแนนของคุณคือผลรวมของความยาวของรหัสเป็นอักขระสำหรับผู้ให้บริการแต่ละราย คะแนนต่ำสุดชนะ สำหรับพวกเราที่ไม่คุ้นเคยกับข้อกำหนด IEEE 754 นี่เป็นบทความเกี่ยวกับเรื่องนี้ใน Wikipedia การแก้ไข: 03-06 …

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