Viết chương trình Python đếm số 0 và 1 trong biểu diễn nhị phân của một số nguyên cho trước
Giải pháp mẫu
Mã Python
def test[num]:
ones = bin[num]. replace["0b", ""].count['1']
zeros = bin[num]. replace["0b", ""].count['0']
return "Number of zeros: " + str[zeros] + ", Number of ones: " + str[ones];
n = 12;
print["Original number: ",n];
print["Number of ones and zeros in the binary representation of the said number:"];
print[test[n]];
n = 1234;
print["\nOriginal number: ",n];
print["Number of ones and zeros in the binary representation of the said number:"];
print[test[n]];
Đầu ra mẫu
Original number: 12 Number of ones and zeros in the binary representation of the said number: Number of zeros: 2, Number of ones: 2 Original number: 1234 Number of ones and zeros in the binary representation of the said number: Number of zeros: 6, Number of ones: 5
Sơ đồ
Trực quan hóa việc thực thi mã Python
Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên
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 để kiểm tra xem một tháng và năm nhất định có chứa Thứ Hai ngày 13 không
Kế tiếp. Viết chương trình Python tìm tất cả các thừa số của một số tự nhiên cho trướ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
list2
=
[
'a'
,
'a'
,
'a'
,
4_______3,
2 23
,
'a'
,
2 29
,
2 23
Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]2
Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]3
Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]4_______4_______3
Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]6
đầu ra
3
ví dụ 1. Đếm Tuple và liệt kê các phần tử bên trong danh sách
Đếm số lần xuất hiện của Danh sách và Bộ trong danh sách bằng phương thức đếm[]
Python3
Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]7
=
Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]9
[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}0_______52_______16_______2
[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}3
[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}4
,
___[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}0
[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}3
[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}0
,
[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}2
list2
1list2
2_______48_______3
[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}0
,
___[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}2_______52_______16_______4
list2
9=
0,
49_______2=
3=
0,
___=
2,
=
8_______49_______3=
0_______52_______50_______
[
4
Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]3
[
6[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}0_______52_______
[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}2
'a'
0
'a'
1
'a'
2
Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]3
'a'
4_______49_______0_______52_______=
2'a'
8đầu ra.
2 2
Các ngoại lệ trong khi sử dụng phương thức đếm danh sách Python []
LoạiLỗi
Phương thức đếm danh sách Python [] tăng TypeError khi có nhiều hơn 1 tham số được truyền
Python3
Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]7
=
[
=
0,
49_______0_______52_______=
0,
49_______2,
___=
8,
49_______2,
=
0Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]2
'a'
6
Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]3
'a'
8=
0_______52_______=
2Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]6
đầu ra
________số 8_______Ứng dụng thực tế
Giả sử chúng ta muốn đếm từng phần tử trong một danh sách và lưu trữ nó trong một danh sách khác hoặc nói từ điển
Python3
2 203
2 204
2 205
=
[
16_______0,
16_______2,
___[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}4
,
16_______0,
___2 216
,
16_______0,
[['Mat', 1], ['Cat', 3], ['Sat', 2], ['Bat', 1]] {'Bat': 1, 'Cat': 3, 'Sat': 2, 'Mat': 1}4
Traceback [most recent call last]: File "/home/41d2d7646b4b549b399b0dfe29e38c53.py", line 7, in print[list1.count[1, 2]] TypeError: count[] takes exactly one argument [2 given]2