Làm thế nào để bạn in một đường ngang trong python?

Tôi muốn giúp viết chương trình python này, cảm ơn bạn. Phần 1 - Tạo hàm tạo chuỗi dòng ngang dọc ----- Tạo 3 hàm. 1. vertical_line(char, width, left_padding) * __input__. * ký tự để loại bỏ dòng (ví dụ: '*') * tổng chiều rộng của dòng * số khoảng trắng trước dòng (phần đệm bên trái) * __processing__. * tạo một chuỗi rộng bao gồm các ký tự được chỉ định, bắt đầu bằng một số khoảng trắng * đầu ra. * trả về một chuỗi đại diện cho một đường ngang 2. vertical_lines(char, height, left_padding, number, internal_offset). * đầu vào. * ký tự để tạo dòng (ví dụ '*') * tổng chiều cao của dòng * số khoảng trắng trước dòng (phần đệm bên trái) * số dòng dọc cần vẽ * khoảng cách giữa mỗi dòng ( . * tạo một chuỗi đại diện cho số dòng dọc được chỉ định * mỗi dòng được sắp xếp * và bao gồm các ký tự được chỉ định * có một số khoảng trắng giữa mỗi dòng dọc * có một số khoảng trắng trước khi các dòng bắt đầu * ví dụ: chuỗi, . LƯU Ý RẰNG KHÔNG CÓ DÒNG MỚI nào ở cuối và KHÔNG CÓ DÒNG DÒNG DƯỚI * BẠN PHẢI SỬ DỤNG CÁC VÒNG LẶP LỒNG ĐỂ XÂY DỰNG CHUỖI NÀY * gợi ý. vòng lặp bên ngoài có thể đại diện cho hàng, vòng lặp bên trong có thể đại diện cho cột. và bạn có thể sử dụng col_num hoặc row_num để xác định xem có nên thêm phần bù bên trong hoặc dòng mới không * đầu ra. * trả về một chuỗi đại diện cho một loạt các đường thẳng đứng 3. vertical_line(char, height, left_padding). * đầu vào. * ký tự để loại bỏ dòng (ví dụ '*') * tổng chiều cao của dòng * số khoảng trắng trước dòng (phần đệm bên trái) * xử lý. * tạo chuỗi gian hàng bao gồm các ký tự được chỉ định, bắt đầu bằng một số dấu cách * gợi ý. ngụ ý gọi chức năng vertical_lines của bạn để chỉ có 1 dòng được in (mặc dù vậy, hãy nhớ chuyển dọc theo left_padding và ký tự. ) * đầu ra. * trả về một chuỗi đại diện cho một đường thẳng đứng Ví dụ. print(horizontal_line('*', 5, 0)) ***** print(horizontal_line('x', 2, 4)) xx print(vertical_line('*', 2, 5)) * * print(vertical_lines . Tất cả các số sẽ có chiều rộng linh hoạt, nhưng bạn có thể cho rằng CHIỀU CAO CỦA CÁC SỐ SẼ LUÔN LÀ 5. Sử dụng các chức năng vẽ đường ngang và dọc để viết các chức năng này. Các chức năng sẽ được gọi là print_one, print_two. print_minus. Biểu đồ đầu vào/đầu ra/xử lý chung sẽ giống nhau cho từng chức năng. Đây là một ví dụ về biểu đồ đầu vào/đầu ra/xử lý, định nghĩa hàm thực tế cho hàm in ra số một và một số ví dụ về cách sử dụng. print_one(char, width) * đầu vào. * một ký tự để tạo số với * độ rộng của số * xử lý. * in số nghệ thuật 'ASCII' cao 5 ký tự và rộng bằng đối số được truyền vào (rộng ký tự) * nếu chiều rộng nhỏ hơn 3, mặc định là 3 * đầu ra. * không trả lại gì def print_one(char, width). nếu chiều rộng <3. width = 3 print(vertical_line(char, 5, width - 1)) Kết quả ví dụ (lưu ý mối quan hệ giữa số khoảng trắng ở đầu và tổng chiều rộng). print_one('*', 5) * * * * * print_one('X', 3) X X X X X print_one('$', 1) # mặc định là 3 chiều rộng $ $ $ $ $ Đây là một ví dụ về việc chạy tất cả các chức năng và . print_zero('*', 5) print() print_one('*', 5) print() print_two('*', 5) print() print_three('*', 5) print() print_four('*', . Nó sẽ xác định xem một bài toán cộng hoặc trừ đã cho có được giải chính xác hay không dựa trên toán hạng, câu trả lời và toán tử được truyền vào. check_answer * đầu vào. * toán hạng thứ 1 (hoặc trái) * toán hạng thứ 2 (hoặc phải) * đáp án đề xuất * toán tử. + hoặc - * xử lý. * chạy toán tử trên các toán hạng * kiểm tra câu trả lời được đề xuất * nếu toán tử không phải là + hoặc -, mặc định là + * đầu ra. * trả về một giá trị boolean - Đúng nếu câu trả lời khớp với kết quả thực tế của phép tính. trả về Sai nếu không Ví dụ sử dụng và đầu ra. answer1 = check_answer(1, 2, 3, "+") print(answer1) answer2 = check_answer(1, 2, -1, "-") print(answer2) answer3 = check_answer(9, 5, 3, "+" . * sau khi bạn chắc chắn rằng các chức năng của mình đang hoạt động theo cách bạn mong đợi. * BÌNH LUẬN TẤT CẢ MÃ ĐỀ THI CỦA BẠN. (để việc chạy tệp của bạn không tạo ra bất kỳ kết quả nào - chúng ta sẽ xem các cách tốt hơn để thực hiện việc này sau) * đảm bảo rằng tệp và các chức năng của bạn đều được đặt tên chính xác * thêm nhận xét vào tệp của bạn