What would the following code print if the word is "brontosaurus"? word = "brontosaurus"

4 phương ánCó giải thích
Đề bài
d = dict()
for c in word:
    d[c] = d.get(c, 0) + 1
print(d)

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "{'b': 1, 'r': 2, 'o': 2, 'n': 1, 's': 2, 'a': 2, 'u': 2, 't': 1}". Đoạn mã dùng mẫu đếm tần suất bằng dict: d.get(c, 0) trả về số đếm hiện có của ký tự c, hoặc 0 nếu chưa có khoá đó, rồi cộng 1 và gán lại. Lần theo từng chữ của brontosaurus (b-r-o-n-t-o-s-a-u-r-u-s) ta có b 1, r 2, o 2, n 1, t 1, s 2, a 1, u 2, và vì từ Python 3.7 dict giữ thứ tự chèn khoá, kết quả thật in ra là {'b': 1, 'r': 2, 'o': 2, 'n': 1, 't': 1, 's': 2, 'a': 1, 'u': 2}. Cần nói thẳng: không phương án nào khớp từng ký tự; phương án được chọn là phương án gần nhất, đúng số đếm của r, o, s, u, chỉ lệch số đếm của a (từ này chỉ có một chữ a) và vị trí khoá t. Phương án "{'b': 1, 'r': 2, 'o': 1, 'n': 2, 't': 1, 's': 1, 'a': 2, 'u': 1}" sai ở o, n, s, u và a. Phương án "{'b': 1, 'r': 1, 'o': 2, 'n': 1, 't': 1, 's': 2, 'a': 2, 'u': 2}" đếm r chỉ một lần dù r xuất hiện hai lần, lại sai cả a. Phương án "{'b': 1, 'r': 1, 'o': 1, 'n': 1, 't': 1, 's': 1, 'a': 1, 'u': 1}" coi mọi chữ chỉ xuất hiện một lần, tức là bỏ mất bước cộng dồn.

Cùng phần 2

Xuất hiện trong 1 bộ đề