Trả lời câu hỏi và giải bài tập SGK tin học lớp 10 – Sách kết nối tri thức với cuộc sống – Bài 17 – Biến và lệnh gán
Câu hỏi trang 93
1. Các tên biến nào dưới đây là hợp lệ trong Python?
A. _name
B. 12abc
C. My country
D. m123&b
E. xyzABC
2. Sau các lệnh dưới đây, các biến x, у nhận giá trị bao nhiêu?
>>> x = 10
>>> у = x**2 – 1
>>> x = x//2 + y%2
3. a, b nhận giá trị gì sau các lệnh sau?
>>> a,b = 2,3
>>> a,b = a+b, a-b
Trả lời
Câu 1: Các tên biến hợp lệ:
_name,
xyzABC
Các tên biến không hợp lệ:
12abc (vì bắt đầu là số)
My country (vì chứa dấu cách)
m123&b (vì chứa kí tự đặc biệt &)
Câu 2:
x=10
у = x**2 – 1 =99
(y=102-1=99)
x=x//2+y%2 =6
(x//2=10//2=5) (// là phép chia lấy phần nguyên)
(y%2=99%2=1) (% là phép chia lấy phần dư)
Vậy x=6, y=99
Câu 3:
a,b =2,3
(a=2, b=3)
a,b = a+b, a-b
(a=a+b=2+3=5)
(b=a-b=2-3=-1)
Vậy a=5, b=-1
Câu hỏi trang 94
1. Mỗi lệnh sau là đúng hay sai? Nếu đúng thì cho kết quả là bao nhiêu?
>>> (12 – 10//2)**2 – 1
>>> (13 + 45**2)(30//12 – 5/2)
2. Mỗi lệnh sau cho kết quả là xâu ki tự như thế nào?
>>> ″″*20 + ″010″
>>> ″10″+″0″*5
Trả lời
Câu 1:
>>> (12 – 10//2)**2 – 1
Lệnh trên đúng, kết quả =48
>>> (13 + 45**2)(30//12 – 5/2)
Lệnh trên sai (vì giữa 2 biểu thức (13 + 45**2) và (30//12 – 5/2) không có phép toán)
Câu 2:
>>> ″″*20 + ″010″
(″″*20 xâu rỗng lặp 20 lần thì cũng là xâu rỗng)
Kết quả là ′010′
>>>″10″+″0″*5
(″0″*5 =′00000′)
Kết quả là ′1000000′
Câu hỏi trang 95
Các tên biến sau có hợp lệ không?
a) _if
b) global
c) nolocal
d) return
e) true
Trả lời
_if (hợp lệ)
global (không hợp lệ vì nó là từ khóa)
nolocal (hợp lệ)
return (không hợp lệ vì nó là từ khóa)
true (hợp lệ vì ta có từ khóa True khác true)
Câu hỏi Luyện tập trang 96
1. Lệnh sau có lỗi gì?
>>> x = 1
>>> 123a = x + 1
SyntaxError: invalid syntax
2. Lệnh sau sẽ in ra kết quả gì?
>>> print(″đồ rê mi ″*3 + ″pha son la si đô ″*2)
Trả lời
Câu 1: Lỗi tên biến 123a
Câu 2:
″đồ rê mi ″*3 (đồ rê mi lặp 3 lần)
″pha son la si đô ″*2 (pha son la si đô lặp 2 lần)
Kết quả:
đồ rê mi đồ rê mi đồ rê mi pha son la si đô pha son la si đô
Câu hỏi vận dụng trang 96
1. Viết các lệnh để thực hiện việc đồi số giây ss cho trước sang số ngày, giờ, phút, giây, in kết quả ra màn hình.
Ví dụ, nếu ss = 684 500 thì kết quả in ra như sau:
684 500 giây = 7 ngày 22 giờ 8 phút 20 giây.
Gợi ý: Sử dụng các phép toán lấy thương nguyên, lấy số dư và các cách đổi sau:
1 ngày = 86 400 giây; 1 giờ = 3 600 giây; 1 phút = 60 giây.
2. Hãy cho biết trước và sau khi thực hiện các lệnh sau, giá trị các biến x, y là bao nhiêu? Em có nhận xét gì về kết quả nhận được?
>>> x, y = 10, 7
>>>x, y = y, x
Trả lời
Câu 1: Nếu thực hiện ở chế độ gõ lệnh trực tiếp thì thực hiện như sau:
Cách 1:
ss=684500
ngay=ss//86400
gio=ss%86400//3600
phut=ss%86400%3600//60
giay=ss%86400%3600%60
print(ss,'giây =',ngay,'ngày',gio,'giờ',phut,'phút',giay,'giây')
Cách 2:
ss=684500
ngay,s=ss//86400,ss%86400
gio,s=s//3600,s%3600
phut,giay=s//60,s%60
print(ss,"giây=",ngay,"ngày",gio,"giờ",phut,"phút",giay,"giây")
Câu 2:
>>> x, y = 10, 7
Sau khi thực hiện lệnh này thì x=10, y=7
>>>x, y = y, x
Sau khi thực hiện lệnh này thì x=7, y=10
Nhận xét: 2 lệnh trên đổi giá trị x và y cho nhau