สรุป
ใช้ FizzBuzz ใน Python พร้อมกับโทเค็นที่น้อยที่สุดที่เป็นไปได้
ท้าทาย
เขียนโปรแกรมที่พิมพ์ตัวเลขทศนิยมตั้งแต่ 1 ถึง 100 แต่สำหรับทวีคูณของสามพิมพ์ "Fizz" แทนจำนวนและสำหรับทวีคูณของห้าพิมพ์ "Buzz" สำหรับตัวเลขที่เป็นทวีคูณของทั้งสามและห้าพิมพ์“ FizzBuzz” โปรแกรมจะต้องเขียนใน Python บางเวอร์ชัน
สำหรับรายละเอียดเพิ่มเติมดู1, 2, Fizz, 4, Buzz
เกณฑ์การให้คะแนน
คะแนนของคุณจะเท่ากับจำนวนโหนดในต้นไม้ไวยากรณ์นามธรรมของรหัสของคุณตามที่รายงานโดยโปรแกรมนี้สำหรับหลาม 3หรือโปรแกรมนี้สำหรับงูหลาม 2 ในการรันโปรแกรมให้ระบุชื่อไฟล์ของรหัสของคุณเป็นอาร์กิวเมนต์บรรทัดคำสั่งของโปรแกรม ตัวอย่างเช่น
python simple_counter.py fizzbuzz.py
โปรแกรมเหล่านี้จะตามออกของ ธโมดูล AST หากคุณมีปัญหาใด ๆ แจ้งให้เราทราบ
เพื่อป้องกันการแก้ปัญหาที่ไม่สำคัญเช่นการรันสตริงแบบยาวด้วยโปรแกรมจริงหรือการเข้ารหัส hardcoding เอาต์พุตมีข้อ จำกัด เพิ่มเติมบางประการ:
ไม่มีโทเค็นในรหัสของคุณอาจยาวเกิน 15 อักขระ โปรแกรมด้านบนจะตรวจสอบข้อกำหนดนี้สำหรับคุณ โปรดทราบว่าเพื่อความสะดวกในการนำไปใช้งานโปรแกรมด้านบนจะนับความคิดเห็นเป็นโทเค็น
การเรียกใช้รหัส / การประเมินผลถูกห้าม
หากคุณมีคำถามว่ามีบางอย่างที่ได้รับอนุญาตหรือไม่โปรดถามฉัน
การให้คะแนนฮิวริสติก
โดยทั่วไปแล้วกฎต่อไปนี้เพียงพอที่จะคำนวณคะแนนของโปรแกรมของคุณ:
งบบล็อกคือ 1 จุด:
if
,for ... in ...
,while
,else
ฯลฯงบแบบสแตนด์อโลนเป็นจุดที่ 1:
print
ในหลาม 2break
,pass
ฯลฯตัวแปรมี 2 คะแนน
ตัวอักษร-โทเค็นเดี่ยวมี 1 จุด:
2131
,"Hello, world!"
,True
ฟังก์ชั่นคือ 3 คะแนน (2 สำหรับการใช้ตัวแปร, 1 พิเศษ):
print
ใน Python 3range
, ฯลฯผู้ประกอบการ 2 จุด:
+
,*
,%
,and
,not
ฯลฯ=
คือ 1 จุดที่ได้รับมอบหมาย Augmented คือ 2 จุด:
+=
,|=
ฯลฯวงเล็บ, การเยื้องและอื่น ๆ คือ 0 คะแนน
บรรทัดที่มีนิพจน์ซึ่งตรงข้ามกับการมอบหมายหรือการแสดงออกคือ + 1 จุด
มีรหัสทั้งหมด 1 จุด
ท้าทาย:
คะแนนต่ำสุดชนะ โชคดี!