Tổng quat
Thử thách này được lấy cảm hứng từ bài đăng StackOverflow Meta này . Trong đó, @hakre nói:
Tôi đã thấy một dự án thực sự được viết bởi Stackoverflow (một bản sao noob cùng với SO ở đây và SO ở đó), thông thường không bao giờ được thực hiện dẫn đến việc chấm dứt quyền theo CC. (sic)
Nhiệm vụ của bạn là tạo ra chương trình thú vị nhất mà bạn có thể - mà không bao giờ viết một dòng mã nào. Bạn chỉ có thể sử dụng mã đã được viết cho bạn, cả trong câu hỏi và câu trả lời từ StackOverflow. Tất cả những gì bạn có thể làm là dán băng keo lại với nhau một cách tốt nhất có thể. Và tất nhiên, điều rất quan trọng là chúng tôi cung cấp sự ghi nhận phù hợp để chúng tôi không bị chấm dứt quyền lợi của mình.
Quy tắc
- Bạn phải bao gồm các liên kết đến các câu hỏi / câu trả lời bạn đã sử dụng trong câu trả lời của mình.
Bạn không thể sửa đổi mã bạn tìm thấy, với các ngoại lệ sau:
a. Bạn có thể đổi tên các biến, hàm và phương thức. (Điều này không có nghĩa là bạn có thể thay đổi một phương pháp gọi , bằng cách thay đổi, nói
scanner.nextInt()
đếnscanner.nextLine()
và tuyên bố rằng bạn đang thay đổi một tên phương pháp. Sự thay đổi phải nằm trong định nghĩa hoặc tham chiếu đến cùng một thực thể.)b. Bạn có thể điều chỉnh thụt đầu dòng thích hợp.
c. Bạn có thể giả định rằng các mô-đun thích hợp được tải để đoạn mã hoạt động. (ví dụ: các
import
câu lệnh cho Java và Python, cácusing
câu lệnh cho C # và C ++ và tương đương của chúng trong tất cả các ngôn ngữ) Nếu đoạn mã bao gồmimport
s cho bạn, bạn có thể di chuyển chúng lên đầu mã.d. Nếu ngôn ngữ yêu cầu mã phải ở một dạng thân phương thức nào đó để thực thi (ví dụ:
public static void main(String[] args)
đối với Java,static int Main(string[] args)
đối với C #, v.v.), bạn có thể bọc mã của mình theo phương thức thích hợp. Nhưng nội dung của phương pháp chính đó vẫn không thay đổi.Bạn phải cung cấp một danh sách rõ ràng của bất kỳ biến / phương thức / hàm / lớp đổi tên được thực hiện.
- Bạn không thể lấy đoạn trích đoạn (có nghĩa là nếu bạn lấy một khối mã từ một bài đăng, bạn sẽ lấy toàn bộ)
- Cung cấp một mô tả ngắn gọn về những gì mã làm cho những người không thân mật với ngôn ngữ bạn đang sử dụng.
- Cuộc thi phổ biến, vì vậy, nhiều người chiến thắng nhất!
Ví dụ nhàm chán năm phút (Python 3)
Mô tả : Đọc một loạt các tệp nhật ký từ thư mục hiện tại và chọn ngẫu nhiên các dòng trong đó (thú vị, phải không? Điều này hoàn toàn sẽ giành chiến thắng trong một cuộc thi phổ biến)
Nguồn
import glob
import random
for file in glob.glob('log-*-*.txt'):
# Etc.
with open(file) as f:
content = f.readlines()
# shuffle the list in place
random.shuffle(content)
# print it
print(content)
Sửa đổi pháp lý
- Đổi tên
fname
đểfile
từ liên kết 1 - Đổi tên
b
đểcontent
từ liên kết 2
Phân phối