khoahoc.vietjack.com

Câu hỏi:

13/07/2024 14,331 Lưu

Em hãy viết chương trình nhập một họ tên đầy đủ từ bàn phím, ví dụ "Nguyễn Thị Mai Hương", sau đó tách riêng phần tên, họ, đệm và thông báo ra màn hình.

Quảng cáo

Trả lời:

verified Giải bởi Vietjack

Hướng dẫn:

Em đã biết cách tách phần họ và tên của một xâu kí tự họ tên đầy đủ. Bài tập này yêu cầu tách thêm phần đệm, tức là phần nằm giữa tên và họ ra. Việc tách này khá đơn giản bằng cách sử dụng phương thức join() của xâu kí tự. Xâu kí tự họ tên gốc trước tiên được tách thành một dãy bằng hàm split(). Sau khi lấy phần họ, tên, phần đệm sẽ được lấy ra bằng lệnh sau:

dem = " ".join(slist[1:n-1])

Trong đó slist là dãy đã được tách ra từ xâu kí tự họ tên đầy đủ, n là độ dài của xâu slist. Chương trình hoàn chỉnh có thể viết như sau:

hoten = input("Nhập họ tên đầy đủ của bạn: ")

slist = hoten.split()

n = len(slist)

ho = slist[0]

ten = slist[n-1]

dem = " ".join(slist[1:n-1])

print("Tên của bạn là",ten)

print("Họ của bạn là", ho)

if n > 2:

print("Đệm của bạn là:", dem)

* Chương trình chạy thử:

Media VietJack

Đang tải chế độ Học...

Hot: 1000+ đề thi giữa kì 1 lớp 1-12 đầy đủ các môn (Update 2026) (chỉ từ 60k). Tải ngay

ĐẶC QUYỀN VIP

Đăng ký VIP để học và luyện thi không giới hạn

Trọn bộ quyền lợi trên Vietjack, trong một tài khoản.

  • Phòng luyện thi cấp tốc: ĐGNL - ĐGTD, Tốt nghiệp THPT, Ôn vào 10, Ôn vào 6, Ôn Giữa kì/Cuối kì
  • Hơn 200K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 3tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem hàng ngàn bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện
  • Đăng ký ngay

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

Lời giải

Chương trình có thể viết như sau:

def sap_xep (A):

B = A.copy()

for i in range(1, len(B)):

j = i

while j > 0 and B[j] < B[j-1]:

B[j], B[j-1] = B[j-1], B[j]

j = j-1

return B

# Chương trình chính

A = []

n = int(input("Nhập số học sinh của lớp: "))

for k in range(n):

hoten = input("Nhập tên học sinh thứ "+str(k+1)+": ")

A.append(hoten)

B = sap_xep(A)

print("Danh sách học sinh trong lớp: ")

for hs in B:

print(hs)

Media VietJack

Lưu ý: Hàm sap_xep(A) sẽ trả lại dãy đã được sắp xếp tăng dần của A, bản thân dãy A không thay đổi.

Lời giải

Chương trình có thể viết như sau:

A = [1, 1, 2, 3, 0, 0, 0, 7, 10, 10, 5, 1, 1, 6]

Indx = 0

lenMax = 1

for i in range(len(A)):

j = i

while j < len(A) and A[j] == A[i]:

if j-i+1 > lenMax:

Indx = i

lenMax = j-i+1

j = j + 1

print("Dãy con bằng nhau lớn nhất bắt đầu từ chỉ số:", Indx, "độ dài" ,lenMax)

print(A[Indx: Indx+lenMax])

Media VietJack

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP