IMG-LOGO

Câu hỏi:

23/07/2024 328

Viết chương trình thực hiện các công việc sau, yêu cầu thực hiện lần lượt các công việc, mỗi công việc cần được triển khai thông qua một chương trình con:

1. Nhập từ bàn phím một dãy các số nguyên, mỗi số cách nhau bởi dấu cách. Chuyển các số này vào một dãy (list A) các số và in dãy A ra màn hình.

2. Tách từ dãy A ra một dãy B bao gồm các phần tử có giá trị > 0 của dãy A. In dãy B ra màn hình.

3. Tách từ dãy A ra một dãy C bao gồm các phần tử có giá trị < 0 của dãy A. In dãy C ra màn hình.

Cuối cùng chương trình sẽ đưa ra kết quả tổng số các lệnh cơ bản (phép gán, phép so sánh) đã thực hiện trong toàn bộ chương trình.

 Xem lời giải

Trả lời:

verified Giải bởi Vietjack

Với mỗi nhiệm vụ trên sẽ được viết riêng thành một hàm. Để tính số các phép gán và so sánh cần một biến tổng thể t. Biến nhớ này sẽ được khai báo lại trong mỗi chương trình con với từ khoá global. Toàn bộ chương trình như sau: 

t = 0

def Nhap_Dulieu():

global t

s = input("Nhập các số nguyên cách nhau bởi dấu cách: ")

A = s.split()

t = t + 2

for k in range(len (A)):

A[k] = int(A[k])

t = t + 1

return A

def getB(A):

global t

B = []

t = t + 1

for x in A:

if x > 0:

B.append(x)

t = t + 1

return B

def getC(A):

global t

C = []

t = t + 1

for x in A:

if x < 0:

C.append(x)

t = t + 1

return C

# Chương trình chính

A = Nhap_Dulieu()

print("Dãy A:",A)

B = getB(A)

C = getC(A)

print("Dãy B:",B)

print("Dãy С:",C)

print("Số lượng phép gán và so sánh:",t)

Câu trả lời này có hữu ích không?

0

Gói VIP thi online tại VietJack (chỉ 400k/1 năm học), luyện tập gần 1 triệu câu hỏi có đáp án chi tiết

ĐĂNG KÝ VIP

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Chương trình sau có lỗi không? Nếu có, làm thế nào để sửa hết lỗi?

def f():

n = n + 1

return n

n = 15

a = f()

print(a)

Xem đáp án » 21/10/2022 808

Câu 2:

Mệnh đề nào dưới đây phát biểu sai về phạm vi tác dụng của biến trong Python? 

A. Biến được khai báo bên trong hàm chỉ có tác dụng trong hàm đó, không có tác dụng bên ngoài. 

B. Biến được khai báo bên ngoài hàm sẽ không có tác dụng bên trong hàm như một biến. 

C. Biến khai báo bên ngoài nếu muốn có tác dụng bên trong hàm thì cần khai báo lại trong hàm với từ khoá global. 

D. Biến trong Python khi đã được khai báo sẽ có tác dụng trong tất cả các hàm và bên ngoài.

Xem đáp án » 21/10/2022 372

Câu 3:

Đoạn chương trình sau có lỗi không? Nếu không kết quả lệnh print() sẽ in ra số nào?

def f(a):

n = a + 1

n = (3*n+1) **2

return n

f(1)

print(n)

Xem đáp án » 21/10/2022 259

Câu 4:

Đoạn chương trình sau có lỗi không?

m, n = 10, 4

def f(a):

k = n + m + a

return k

f(5) 

Xem đáp án » 21/10/2022 241

Câu 5:

Viết hàm với đầu vào là list A, số thực x. Hàm cần trả về một list B thu được từ list A bằng cách chỉ lấy các phần tử có giá trị ≥ x.

Xem đáp án » 21/10/2022 227

Câu 6:

Trong Python biến được khai báo và sử dụng bên trong một hàm được gọi là gì?

A. Biến địa phương.

B. Biến riêng. 

C. Biến tổng thể.

D. Biến thông thường. 

Xem đáp án » 21/10/2022 185

Câu 7:

Đoạn chương trình sau có lỗi không? Nếu không kết quả lệnh print() sẽ in ra số nào? 

def f(x,y):

n = x + y

m = x - y

return 2*n* (m+1)

n = 5

m = 3

f(2,1)

print(n, m) 

Xem đáp án » 21/10/2022 176

Câu 8:

Có thể khai báo một biến bên trong hàm trùng tên với biến đã khai báo trước đó bên ngoài hàm không?

Xem đáp án » 21/10/2022 162

Câu 9:

Đoạn chương trình sau có lỗi không?

m, n = 10, 4

def f(a):

n = n + m + a

return n

f(5) 

Xem đáp án » 21/10/2022 140

Câu 10:

Khi khai báo hàm có tham số, các tham số này có thể coi là một biến địa phương của hàm hay không?

Xem đáp án » 21/10/2022 107

Câu 11:

Đoạn chương trình sau sẽ in ra giá trị gì?

def f(s):

m = "train"

return m + s

m = "baby"

s = f(" go")

print(s) 

Xem đáp án » 21/10/2022 94

Câu hỏi mới nhất

Xem thêm »
Xem thêm »