* NHẬN BIẾT
Câu 1: Các phép toán áp cho kiểu dữ liệu logic là
A. >,>=,<,<=, %, // B. +, -, *, / C. and, or, not D. ==, !=, <, >, <=,>=
Câu 2: Giá trị của biểu thức logic thuộc kiểu dữ liệu gì?
A. float B. int C. str D. bool
Câu 3: Các phép toán nào sau đây cho kết quả là một giá trị logic
A. ==, !=, <, >, <=,>=, and, or, not B. and, or, not, +, -, *, / C. >,>=,<,<=, %, //, = , != D. +, -, *, /
Câu 4: Các biểu thức sau, biểu thức nào là biểu thức lôgic
A. (b+c)*2 = b*c B. a=10 C. "Tin 10"==100 D. x<5 and y>8 Câu 5: Các biểu thức sau, biểu thức nào KHÔNG phải biểu thức lôgic
A. (5+7>13 and 8%5>=3) B. b=(a%10+b*c) C. not True D. a+b <= c*d Câu 6: Biểu thức logic tương ứng N là số chẳn
A. N%2!=0 B. N%2=0 C. N%2==1 D. N%2==0
*Thông hiểu
Câu 7: Biểu thức logic ứng với số x nằm trong khoảng (10;50]
A. (x>10) and (x<=50) B. (x>=10) and (x<=50) C. (x>=10) and (x<50) D. (x>10) or (x<50) Câu 8: Biểu thức nào sau đây cho giá trị True
A. 8>=10 B. 5<=7 C. 10%2==1 D. 9//4<(5+1)%5
Câu 9: Xác định biểu thức điều kiện để 3 số nguyên dương a,b,c là số đo ba cạnh của tam giác:
A. ((a+b)> c) and ((a+c)> b) and ((b+c)> a) B. (a+b>= c) and (a+c >= b) and (b+c>= a) C. ((a+b)> c) or ((a+c)> b) or ((b+c)> a) D. (a+b)> c, (a+c)> b, (b+c)> a
2. Câu lệnh if
* NHẬN BIẾT
Câu 10: Trong Python, cú pháp lệnh if dạng thiếu A. if <điều kiện>:
<khối lệnh>
B. if <điều kiện>:
<khối lệnh 1>
else:
<khối lệnh 2>
C. if <điều kiện>
<khối lệnh>
D. if <điều kiện>
<khối lệnh 1>
else
<khối lệnh 2>
Câu 11: Trong Python, cú pháp lệnh if dạng đủ A. if <điều kiện>:
<khối lệnh>
B. if <điều kiện>:
<khối lệnh 1>
else:
<khối lệnh 2>
C. if <điều kiện>
<khối lệnh>
D. if <điều kiện>
<khối lệnh 1>
else
<khối lệnh 2>
Câu 12: Trong câu lệnh if dạng thiếu của Python, <khối lệnh> sẽ được thực hiện khi nào?
A. Trong câu lệnh if dạng thiếu của Python, khi <điều kiện> nhận giá trị True thì khối lệnh sẽ không thực hiện
B. Trong câu lệnh if dạng thiếu của Python, <khối lệnh> sẽ được thực hiện khi <điều kiện> nhận giá trị False
C. Trong câu lệnh if dạng thiếu của Python, <khối lệnh> sẽ không được thực hiện khi <điều kiện>
nhận giá trị True
D. Trong câu lệnh if dạng thiếu của Python, <khối lệnh> sẽ được thực hiện khi <điều kiện> nhận giá trị True
Câu 13: Trong câu lệnh if dạng đủ của Python, <khối lệnh 2> được thực hiện khi nào?
A. Biểu thức điều kiện False và <khối lệnh 1> thực hiện xong;
B. Khi biểu thức điều kiện nhận giá trị True C. Sau khi thực hiện xong <khối lệnh 1>
D. Khi biểu thức điều kiện nhận giá trị False
Câu 14: Trong Python, sau điều kiện của câu lệnh if là kí tự gì?
A. Dấu 2 chấm (:) B. Dấu chấm phẩy (;) C. Dấu phẩy (,) D. Dấu ngoặc đơn () Câu 15: Cho đoạn chương trình:
if a!= 1 : x= 10//a else:
x= -2022 print('x=', x+1);
Cho a=1 thì đoạn chương trình cho kết quá nào?
A. x=-2022 B. x=10 C. x=0 C. x=-2021
Câu 16: Cho đoạn lệnh sau:
x=a
if x>b : x=b
if x>c : x=c với a=5; b=3; c=10 thì x=?
A. 10 B. 3 C. 5 D. x nhận 1 giá trị khác
Câu 17: Một cửa hàng quần áo giảm giá dịp Noel mỗi hóa đơn là 25% cho khách hàng nếu hoá đơn có số lượng nhiều hơn 3 sản phẩm. Câu lệnh tính tiền nào sau đây là đúng? (sl: số lượng sản phẩm; t: tổng tiền hàng, tt: tiền thanh toán)
A. if sl>3 : tt=t - t*25%; B. if sl>3 : tt=t + t*25%;
C. if sl>=3: tt=t- t*25; D. if sl>3 : tt=t*25%;
* Vận dụng
Câu 18: Cho điểm M(x,y) và đường tròn tâm O(a,b) bán kính r. Viết câu lệnh if để xác định M thuộc đường trong hay không?
HD: Tính khoảng cách OM và so sánh với bán kính, nếu khoảng cách OM<=r thì xác định M thuộc đường tròn, ngược lại M không thuộc đường tròn.
import math
d = math.sqrt((x-a)**2 + (y-b)**2)
if d<r: print('Điểm M nằm trong đường tròn') elif d==r: print('Điểm M nằm trên đường tròn') else: print('Điểm M nằm ngoài đường tròn')
Câu 19: Để khuyến khích tiêu thụ Cam, một chủ vườn Cam đã đưa ra chính sách khuyến mãi như sau: Nếu số Cam mua lớn hơn 10 Kg thì đơn giá mua chỉ bằng 10% đơn giá đầu tiên. Em hãy viết chương trình tính số tiền mua Cam phải trả, với đơn giá và số Cam được nhập từ bàn phím
HD: - Nhập đơn giá (DG) và số Cam (SL)
- Nếu SL<=10 thì Tiền=SL*DG ngược lại tiền = SL*DG*10%;
DG=float(input(“NHập đơn giá”) SL=float(input(“Nhập số lượng”) if SL<=10:
tien=SL*DG else:
tien=SL*DG*0.1
print(“Tổng tiền mua Cam là”,tien)
Câu 20: Viết chương trình nhập vào 3 số a,b,c. Tìm giá trị lớn nhất, nhỏ nhất của 3 số a,b,c.
HD: - nhập a,b,c
- Gán Max, Min =a;
- Nếu Max<b thì Maxb. tương tự Min>b thì Minb - Nếu Max<c thì Maxc. tương tự Min>c thì Minc - Xuất kết quả Max, Min
a,b,c=map(float,input("Nhập 3 số a, b, c").split()) max=a
min=a if max<b:
max=b if max<c:
max=c if min>b:
min=b if min>c:
min=c
print("Số lớn là",max) print("Số nhỏ là",min)
hoặc
a=float(input("Nhập số a") b=float(input("Nhập số b") c=float(input("Nhập số c") max=a
min=a if max<b:
max=b if max<c:
max=c if min>b:
min=b if min>c:
min=c
print("Số lớn là",max) print("Số nhỏ là",min)
Chú ý:
3 câu lệnh nhập
a=float(input("Nhập số a") b=float(input("Nhập số b") c=float(input("Nhập số c") tương đương với 1 câu lệnh nhập
a,b,c=map(float,input("Nhập 3 số a, b, c").split()) Câu 21: Tiền điện được tính giá bậc thang như sau:
Đơn giá 1 được áp dụng cho 50Kw/h tiêu thụ đầu tiên;
Đơn giá 2 được áp dụng cho mỗi 1KWh từ 51 tới 100;
Đơn giá 3 được áp dụng cho mỗi 1KWh từ 101 tới 200;
Đơn giá 4 được áp dụng cho mỗi 1KWh từ 201 trở đi;
Đơn giá và lượng điện tiêu thụ là các số nguyên được nhập từ bàn phím. Em hãy viết chương trình tính tiền phải nộp.
HD. - nhập số lượng điện tiêu thụ (KWh) và các đơn giá DG1, DG2, DG3, DG4 - nếu Kwh<=50 thì tiền = KWh*DG1;
- nếu 50<Kwh<=100 thì tiền = 50*DG1+(KWh-50)*DG2;
- nếu 101<Kwh<=200 thì tiền = 50*DG1+50*DG2+(KWh-100)*DG3;
- nếu 201<Kwh thì tiền = 50*DG1+50*DG2+100*Dg3 + (KWh-200)*DG4;
DG1=float(input("Nhập đơn giá 1")) DG2=float(input("Nhập đơn giá 2")) DG3=float(input("Nhập đơn giá 3")) DG3=float(input("Nhập đơn giá 4"))
KWh= float(input("Số lượng điện tiêu thụ")) if KWh<=50:
Tien= KWh*DG1 else:
if KWh<=100:
tien=50*DG1+(KWh-50)*DG2
else:
if KWh<=200:
tien=50*DG1+50*DG2+(KWh-100)*DG3 else:
tien= 50*DG1+50*DG2+100*Dg3+(KWh-200)*DG4 print("Số tiền điện phải nộp là:",tien)
Bài 20: CÂU LỆNH LẶP FOR 1. Câu lệnh for
* NHẬN BIẾT
Câu 1: Trong Python, cú pháp lệnh lặp for có một tham số trong vùng range() là:
A. for in range(n): <khối lệnh> B. for <i> in n <khối lệnh>
C. for <i> in range(n): <khối lệnh> D. for <i> to (n): <khối lệnh>
Câu 2: Trong Python với cú pháp lệnh for <i> in range(n): <khối lệnh>. Biến i sẽ nhận giá trị nào?
A. 0, 1, 2, …, n-1 B. 0, 1, 2, …, n C. 1, 2, …, n D. 1, 2, …, n-1 Câu 3: Trong Python với cú pháp lệnh for <i> in range(n): <khối lệnh>. Lệnh range(n) trả lại vùng giá trị gồm …. số từ ….. đến …..?
A. gồm n-1 số từ 1 đến n-1 B. gồm n số từ 0 đến n C. gồm n-1 số từ 1 đến n D. gồm n số từ 0 đến n-1 Câu 4: Trong Python, lệnh lặp for <i> in range(n): <khối lệnh> là
A. lệnh lặp với số lần chưa biết trước B. lệnh lặp với số lần biết trước C. lệnh lặp với số lần chưa xác định trước D. lệnh lặp với số lần không xác định
Câu 5: Trong lệnh lặp for <i> in range(n): <khối lệnh>, khối lệnh sẽ được thực hiện khi nào?
A. i < n B. i = n-1 C. i<= n-1 D. i < n-1
* THÔNG HIỂU
Câu 6: Cho biết kết quả lệnh for dưới đây?
for (i in range(5): print(i*i,end=' ')
A. 1 4 9 16 25 B. 0 1 4 9 16 C. 4 9 16 25 D. 0 1 4 9 16 25 Câu 7: Hãy viết câu lệnh for in ra màn hình các số chẳn từ 1 đến 100
A. for i in range(1,101): B. for i in range(101):
if i%2==0:print(i,end=' ') if i%2==0:print(i,end=' ') C. for i in range(1,100): D. for i in range(100):
if i%2==0:print(i,end=' ') if i%2==0:print(i,end=' ')
Câu 8 Muốn in các số từ 100 99 … 1 ra màn hình (mỗi số trên 1 dòng), lệnh nào sau đây ĐÚNG?
A. for i in range(100,1): print(i) B. for i in range(100,1,-1): print(i) C. for i in range(1,101): print(100-i+1) D. for i in range(1,100): print(i) 2. Lệnh range
* NHẬN BIẾT
Câu 9: Trong Python, cú pháp lệnh range() nào sau đây không đúng?
A. range(star, stop) B. range(stop) C. range(star, stop, step) D. range() Câu 10: Xác định giá trị star trong lệnh range(10)
A. 9 B. 1 C. 0 D. 10
Câu 11: Trong Pyhton, lệnh range(1,n+1) cho vùng gồm các giá trị nào?
A. 1,2,3,…,n B. 0,2,3,…,n C. 1,2,3,…,n+1 D. 1,2,3,…,n-1 Câu 12: Trong Pyhton, lệnh range(10,5) cho vùng gồm các giá trị nào?
A. 100, 99, …,1 B. cho vùng rỗng C. 1,2,3,…,100 D. 1,2,3,…,99 Câu 13: Hãy cho biết câu lệnh range nào cho kết quả là dãy số 0,1,2,3,…,11
A. range(0,11) B. range(11) C. range(12) D. range(1,12)
* THÔNG HIỂU