Hướng dẫn make_chocolate python - trăn make_chocolat
Permalink
Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều
Có một vấn đề mã hóa trên CodingBat.com (phần Python logic-2) yêu cầu một chức năng để xác định có bao nhiêu thanh sô cô la nhỏ được sử dụng cho yêu cầu trọng lượng. Câu hỏi như sau: Chúng tôi muốn làm một gói mục tiêu của sô cô la. Chúng tôi có các thanh nhỏ (mỗi thanh 1 kg) và các thanh lớn (mỗi thanh 5 kg). Trả lại số lượng thanh nhỏ để sử dụng, giả sử chúng tôi luôn sử dụng các thanh lớn trước các thanh nhỏ. Trả lại -1 nếu không thể thực hiện được. make_chocolate (4, 1, 9) → 4make_chocolate (4, 1, 10) → -1make_chocolate (4, 1, 7) → 2 ... Lưu, biên dịch, Chạy (Ctrl-Enter) Code:
def make_chocolate (nhỏ, lớn, mục tiêu): Logic-2> make_chocolateprev & nbsp; | & nbsp; Tiếp theo & nbsp; | & nbsp; cơ hội > make_chocolate Chúng tôi muốn làm một gói mục tiêu của sô cô la. Chúng tôi có các thanh nhỏ (mỗi thanh 1 kg) và các thanh lớn (mỗi thanh 5 kg). Trả lại số lượng thanh nhỏ để sử dụng, giả sử chúng tôi luôn sử dụng các thanh lớn trước các thanh nhỏ. Trả lại -1 nếu không thể thực hiện được.goal kilos of chocolate. We have small bars (1 kilo each) and big bars (5 kilos each). Return the number of small bars to use, assuming we always use big bars before small bars. Return -1 if it can't be done. make_chocolate (4, 1, 9) → 4make_chocolate (4, 1, 10) → -1make_chocolate (4, 1, 7) → 2 make_chocolate(4, 1, 10) → -1 make_chocolate(4, 1, 7) → 2 ... Lưu, biên dịch, Chạy (Ctrl-Enter) def make_chocolate (nhỏ, lớn, mục tiêu): Biên tập Phông chữ Kích thước %: Đầu ra ngắn hơn Quên nó đi!- Xóa mã của tôi cho vấn đề này Tất cả các giải pháp đã được thử nghiệm thành công vào ngày 18 tháng 4 năm 2013. make_bricks: def make_bricks(small, big, goal): return goal%5 >= 0 and goal%5 - small <= 0 and small + 5*big >= goal lone_sum: def lone_sum(a, b, c): if a == b == c: return 0 if b == c: return a if a == c: return b if a == b: return c return a + b + c lucky_sum: def lucky_sum(a, b, c): if a == 13: return 0 if b == 13: return a if c == 13: return a + b return a + b + c no_teen_sum: def no_teen_sum(a, b, c): return fix_teen(a) + fix_teen(b) + fix_teen(c) def fix_teen(n): #if 13 <= n <= 14 or 17 <= n <= 19: if n in [13, 14, 17, 18, 19]: return 0 return n Tôi coi việc kiểm tra tư cách thành viên danh sách là thanh lịch hơn nhiều hoạt động so sánh. round_sum: def round_sum(a, b, c): return round10(a) + round10(b) + round10(c) def round10(n): if n % 10 >= 5: return n + 10 - (n % 10) return n - (n % 10) close_far: def close_far(a, b, c): cond1 = abs(a-b) <= 1 and abs(b-c) >=2 and abs(a-c) >= 2 cond2 = abs(a-c) <= 1 and abs(a-b) >=2 and abs(c-b) >= 2 return cond1 or cond2 make_chocolate: def make_chocolate(small, big, goal): maxBig = goal / 5 if big >= maxBig: if small >= (goal - maxBig * 5): return goal - maxBig * 5 if big < maxBig: if small >= (goal - big * 5): return goal - big * 5 return -1 |