Câu hỏi:
13/07/2024 11,196
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.
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:
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ử:
Hot: Học hè online Toán, Văn, Anh...lớp 1-12 tại Vietjack với hơn 1 triệu bài tập có đáp án. Học ngay
- Trọng tâm Lí, Hóa, Sinh 10 cho cả 3 bộ KNTT, CTST và CD VietJack - Sách 2025 ( 40.000₫ )
- Sách - Sổ tay kiến thức trọng tâm Vật lí 10 VietJack - Sách 2025 theo chương trình mới cho 2k9 ( 31.000₫ )
- Sách lớp 10 - Combo Trọng tâm Toán, Văn, Anh và Lí, Hóa, Sinh cho cả 3 bộ KNTT, CD, CTST VietJack ( 75.000₫ )
- Sách lớp 11 - Trọng tâm Toán, Lý, Hóa, Sử, Địa lớp 11 3 bộ sách KNTT, CTST, CD VietJack ( 52.000₫ )
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)
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])
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.