Viết chương trình Python để in tất cả các số chẵn từ một danh sách các số đã cho theo cùng một thứ tự và dừng in bất kỳ số nào sau 237 trong dãy
danh sách số mẫu
numbers = [ 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958,743, 527 ]
Giải pháp mẫu. -
Mã Python
numbers = [
386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345,
399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217,
815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717,
958,743, 527
]
for x in numbers:
if x == 237:
print[x]
break;
elif x % 2 == 0:
print[x]
Đầu ra mẫu
386 462 418 344 236 566 978 328 162 758 918 237
Giải trình
Mã nói trên xác định một danh sách gọi là "số" với một tập hợp các số nguyên. Sau đó, nó sử dụng vòng lặp for để lặp qua từng phần tử trong danh sách "số"
Với mỗi lần lặp, nó kiểm tra xem phần tử hiện tại có bằng 237 không, nếu đúng thì in phần tử hiện tại và thoát khỏi vòng lặp bằng câu lệnh "break"
Nếu phần tử hiện tại không bằng 237, nó sẽ kiểm tra xem phần tử hiện tại có chẵn không, nếu đúng thì in phần tử hiện tại
Sử dụng logic này, mã sẽ chỉ in số 237 và số chẵn của danh sách. Nếu không tìm thấy 237 trong danh sách, mã sẽ in tất cả các số chẵn trong danh sách
Sơ đồ
Trình chỉnh sửa mã Python
Có một cách khác để giải quyết giải pháp này?
Trước. Viết chương trình Python để nối tất cả các phần tử trong danh sách thành một chuỗi và trả về nó
Kế tiếp. Viết chương trình Python để in ra một tập hợp chứa tất cả các màu từ danh sách không có trong danh sách khác
Mức độ khó của bài tập này là gì?
Dễ dàng trung bình khóKiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
Theo dõi chúng tôi trên Facebook và Twitter để cập nhật thông tin mới nhất.
con trăn. Lời khuyên trong ngày
Kwarg
**kwargs và *args là các đối số hàm có thể rất hữu ích
Chúng khá ít được sử dụng và cũng thường không được hiểu rõ
Hãy cố gắng giải thích kwargs là gì và cách sử dụng chúng
- Trong khi *args được sử dụng để truyền các đối số với số lượng không xác định cho các hàm, thì **kwargs được sử dụng để làm điều tương tự nhưng với các đối số được đặt tên
- Vì vậy, nếu *args là một danh sách được truyền dưới dạng đối số, thì bạn có thể coi **kwargs như một từ điển được truyền dưới dạng đối số cho một hàm
- Bạn có thể sử dụng các đối số tùy thích miễn là bạn tuân theo đúng thứ tự. arg1, arg2, *args, **kwargs. Chỉ sử dụng một trong số đó là được nhưng bạn không thể trộn thứ tự, chẳng hạn như bạn không thể có. function[**kwargs, arg1], đó sẽ là một sai lầm lớn trong Python
- Một vi dụ khac. Bạn có thể thực hiện function[*args,**kwargs] vì nó tuân theo đúng thứ tự
- Đây là một ví dụ. Giả sử các vệ tinh được cung cấp tên và trọng lượng tính bằng tấn ở định dạng từ điển. Mã in trọng lượng của chúng dưới dạng kilôgam cùng với tên của chúng
def payloads[**kwargs]: for key, value in kwargs.items[]: print[ key+" |||", float[value]*100] payloads[NavSat1 = '2.5', BaysatG2 = '4']
đầu ra
NavSat1 ||| 250.0 BaysatG2 ||| 400.0
Vì chức năng trên sẽ hoạt động với bất kỳ số lượng khóa từ điển nào, nên **kwargs có ý nghĩa hoàn hảo thay vì truyền đối số với số lượng cố định