Bài tập  /  Bài đang cần trả lời

Hiển thị dãy số ra màn hình

Nhập vào từ bàn phím dãy số gồm n số nguyên (n>0) và thực hiện các yêu cầu sau đây

a. Hiển thị dãy số ra màn hình

b. Nhập vào từ bàn phím số nguyên x. Hãy cho biết x xuất

 

hiện trong dãy số bao nhiêu lần và các vị trí xuất hiện của

 

x


 

c. c. Xoá các số có giá trị bằng 0 có trong dãy

 

d. Sắp xếp các số nguyên tố về đầu dãy, các số không phải

 

là số nguyên tố về cuối dãy


 

e. Tính trung bình cộng các số chia hết cho 3 có trong dãy
 
3 Xem trả lời
Hỏi chi tiết
113
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để thực hiện các yêu cầu trên, bạn có thể sử dụng ngôn ngữ lập trình Python. Dưới đây là một đoạn mã mẫu để thực hiện các yêu cầu:

```python
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True

def main():
# a. Nhập vào từ bàn phím dãy số gồm n số nguyên (n>0) và hiển thị dãy số ra màn hình
n = int(input("Nhập số lượng phần tử của dãy số (n > 0): "))
if n <= 0:
print("Số lượng phần tử phải lớn hơn 0.")
return

arr = []
for i in range(n):
num = int(input(f"Nhập số nguyên thứ {i+1}: "))
arr.append(num)

print("Dãy số đã nhập:", arr)

# b. Nhập vào từ bàn phím số nguyên x. Hãy cho biết x xuất hiện trong dãy số bao nhiêu lần và các vị trí xuất hiện của x
x = int(input("Nhập số nguyên x: "))
count_x = arr.count(x)
positions_x = [i for i, num in enumerate(arr) if num == x]

print(f"Số {x} xuất hiện {count_x} lần tại các vị trí: {positions_x}")

# c. Xoá các số có giá trị bằng 0 có trong dãy
arr = [num for num in arr if num != 0]
print("Dãy số sau khi xóa các số có giá trị bằng 0:", arr)

# d. Sắp xếp các số nguyên tố về đầu dãy, các số không phải là số nguyên tố về cuối dãy
primes = [num for num in arr if is_prime(num)]
non_primes = [num for num in arr if not is_prime(num)]
sorted_arr = primes + non_primes
print("Dãy số sau khi sắp xếp:", sorted_arr)

# e. Tính trung bình cộng các số chia hết cho 3 có trong dãy
divisible_by_3 = [num for num in arr if num % 3 == 0]
if divisible_by_3:
avg_divisible_by_3 = sum(divisible_by_3) / len(divisible_by_3)
print("Trung bình cộng các số chia hết cho 3:", avg_divisible_by_3)
else:
print("Không có số nào chia hết cho 3 trong dãy.")

if __name__ == "__main__":
main()
```

Giải thích từng phần của mã:

1. **Hàm `is_prime(num)`**: Kiểm tra xem một số có phải là số nguyên tố hay không.
2. **Hàm `main()`**:
- Nhập vào dãy số và hiển thị dãy số.
- Nhập số nguyên `x` và đếm số lần xuất hiện của `x` cũng như các vị trí xuất hiện của `x`.
- Xóa các số có giá trị bằng 0 trong dãy.
- Sắp xếp các số nguyên tố về đầu dãy và các số không phải là số nguyên tố về cuối dãy.
- Tính trung bình cộng các số chia hết cho 3 trong dãy.

Bạn có thể chạy đoạn mã này trong môi trường Python để thực hiện các yêu cầu đã đề ra.
2
0
Võ Tuấn Tài
20/06 08:19:21
+5đ tặng
def main():
    # Nhập dãy số từ người dùng
    num_list = [int(num) for num in input("Nhập dãy số (cách nhau bằng khoảng trắng): ").split()]

    # a. Hiển thị dãy số ra màn hình
    print("Dãy số:", num_list)

    # b. Tìm số x và vị trí xuất hiện
    x = int(input("Nhập số nguyên x: "))
    count = num_list.count(x)
    positi for i, num in enumerate(num_list) if num == x]
    print(f"Số {x} xuất hiện {count} lần tại vị trí:", ", ".join(map(str, positions)))

    # c. Xoá các số có giá trị bằng 0
    num_list = [num for num in num_list if num != 0]
    print("Dãy số sau khi xoá số 0:", num_list)

    # d. Sắp xếp các số nguyên tố về đầu, các số không phải là số nguyên tố về cuối
    def is_prime(n):
        if n < 2:
            return False
        for i in range(2, int(n ** 0.5) + 1):
            if n % i == 0:
                return False
        return True

    prime_nums = [num for num in num_list if is_prime(num)]
    n for num in num_list if not is_prime(num)]
    num_list = prime_nums + non_prime_nums
    print("Dãy số sau khi sắp xếp:", num_list)

    # e. Tính trung bình cộng các số chia hết cho 3
    divisible_by_3 = [num for num in num_list if num % 3 == 0]
    if divisible_by_3:
        avg = sum(divisible_by_3) / len(divisible_by_3)
        print(f"Trung bình cộng các số chia hết cho 3: {avg:.2f}")
    else:
        print("Không có số nào chia hết cho 3 trong dãy")

if __name__ == "__main__":
    main()
 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập
3
0
yuiღ
20/06 08:42:35
+4đ tặng
def main():
# Nhập dãy số từ bàn phím
n = int(input("Nhập số lượng phần tử của dãy số: "))
if n <= 0:
print("Số lượng phần tử phải lớn hơn 0.")
return
numbers = [] for i in range(n):
num = int(input(f"Nhập phần tử thứ {i+1}: "))
numbers.append(num)
# Hiển thị dãy số ra màn hình
print("Dãy số bạn vừa nhập:", numbers)
# Nhập số nguyên x từ bàn phím
x = int(input("Nhập số nguyên x: "))
# Đếm số lần xuất hiện của x trong dãy số và liệt kê các vị trí xuất hiện count = 0
positi />for index, num in enumerate(numbers):
if num == x:
count += 1
positions.append(index)
 
1
0
Tuấn Anh
20/06 09:41:42
+3đ tặng
import array as arr
def prime(n):
    if n==2 : 
        return True
    else :
        for i in range(2,n-1):
            if n%i==0 :
                return False
                break
            else :
                return True
n=int(input('n='))<br />a=[0]*n<br />for i in range(n):<br />    a[i]=int(input("a[%d]="%i))<br />print('mang vua nhap: ',end=' ')
for i in range(n) : print(a[i],end=' ')
print()
x=int(input('x='))<br />d=0<br />print('Vi tri xuat hien x la: ',end=' ')
for i in range(n):
    if x==a[i]:
        print(i,end='  ')
        d+=1
print()
print('So la xuat hien:',d)
for i in range (len(a)):
    if a[i]==0:
        a.remove(0)
        break
print('mang sau khi xoa so 0: ',end=' ')
for i in range(len(a)):
    print(a[i],end=' ');
print()
b=[];c=[];
for i in range(len(a)):
    if prime(a[i])==True :
        b.append(a[i])
    else :
        c.append(a[i]) 
print('mang sau khi duoc sap xep: ',end=' ')
for i in range(len(b)):
    print(b[i],end=' ')
for i in range(len(c)):
    print(c[i],end=' ')
    

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×