Suppose you are given a set(s1={1,2,3}) then what is the output for the code – 2 * s1?

4 phương ánCó giải thích

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: "Illegal". Toán tử * với một số nguyên chỉ được định nghĩa cho các kiểu dãy (sequence) như list, tuple, str: [1, 2] * 2 cho [1, 2, 1, 2]. Set là tập hợp không có thứ tự và không chứa phần tử trùng, nên việc nhân bản phần tử là vô nghĩa và Python không định nghĩa phép này; 2 * s1 ném TypeError: unsupported operand type(s) for *: 'int' and 'set'. "(1,1,2,2,3,3)" sai về cả hai mặt: phép nhân dãy nối nguyên bản sao chứ không lặp từng phần tử, và kết quả không thể là tuple khi đầu vào là set. "[1,1,2,2,3,3]" cũng không xảy ra, kể cả với list thì 2 * [1,2,3] cho [1,2,3,1,2,3]. "(1,2,3,1,2,3)" đúng là kết quả của 2 * (1,2,3) khi dùng tuple, nhưng s1 là set nên không áp dụng được.

Cùng phần 2

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