Bài tập cấu trúc dữ liệu Coursera Python 7.2 câu trả lời

Viết mã bằng cách sử dụng find() và cắt chuỗi để trích xuất số ở cuối dòng bên dưới. Chuyển đổi giá trị được trích xuất thành số dấu phẩy động và in ra

text = "X-DSPAM-Tự tin. 0. 8475";

text = "X-DSPAM-Tự tin. 0. 8475"

Colpos = văn bản. tìm thấy('. ') # Vị trí dấu hai chấm

text_a_Colpos = văn bản[Colpos+1. ] # Văn bản sau vị trí dấu hai chấm

số = text_a_Colpos. dải()

in (phao (số))

ans = float(text_a_Colpos)

in (và)

# Sử dụng chức năng Tách và nối

num_str = text_a_Colpos. split() # định dạng chuỗi của số trong danh sách

d = ""

số = d. join(num_str) # chuyển danh sách thành chuỗi

in (số)

num_f = float(num)

in (num_f)

=================================================================

Viết chương trình nhập tên tệp, sau đó mở tệp đó, đọc qua tệp và in nội dung tệp bằng chữ in hoa. Sử dụng các từ tập tin. txt để tạo đầu ra bên dưới

khi bạn đang kiểm tra bên dưới nhập từ. txt làm tên tệp

file = input('Nhập tên file. ')

fhandle = mở (tệp)

cho dòng trong fhandle

line_strip = dòng. dải()

dòng = line_strip. phía trên()

in (dòng)

Viết chương trình nhắc tên tệp, sau đó mở tệp đó và đọc qua tệp, tìm các dòng có dạng

X-DSPAM-Tự tin. 0. 8475

Đếm các dòng này và trích xuất các giá trị dấu chấm động từ mỗi dòng và tính giá trị trung bình của các giá trị đó và tạo ra kết quả như hình bên dưới. Không sử dụng hàm sum() hoặc biến có tên sum trong giải pháp của bạn

khi bạn đang kiểm tra bên dưới, hãy nhập mbox-short. txt làm tên tệp

fname = input('Nhập tên tập tin. ')

fhandle = mở (tên fname)

đếm = 0

Tổng = 0

cho dòng trong fhandle

nếu 'X-DSPAM-Tự tin. ' xếp hàng

Colpos = dòng. tìm thấy('. ')

num_string = line[Colpos + 1. ]

num = float(num_string)

đếm = đếm + 1

Tổng = Tổng + số

khác

tiếp tục

avg = Tổng số / số lượng

print('Độ tin cậy thư rác trung bình. ',trung bình)

=================================================================

mở tập tin romeo. txt và đọc từng dòng. Đối với mỗi dòng, chia dòng thành một danh sách các từ bằng phương thức split(). Chương trình nên xây dựng một danh sách các từ. Đối với mỗi từ trên mỗi dòng, hãy kiểm tra xem từ đó đã có trong danh sách chưa và nếu chưa hãy thêm từ đó vào danh sách. Khi chương trình hoàn thành, sắp xếp và in các từ kết quả theo thứ tự bảng chữ cái

fhandle = open('romeo. txt')

lst = danh sách()

cho dòng trong fhandle

từ = dòng. tách ra()

in (từ)

cho từ trong từ

nếu lst là Không có

lst. nối thêm (từ)

từ elif trong lst

tiếp tục

khác

lst. nối thêm (từ)

lst. loại()

in(lst)

Mở tệp mbox-ngắn. txt và đọc từng dòng. Khi bạn tìm thấy một dòng bắt đầu bằng 'Từ' như dòng sau

Từ Stephen. marquard@uct. AC. za Thứ bảy ngày 5 tháng 1 09. 14. 16 2008

Bạn sẽ phân tích cú pháp dòng From bằng cách sử dụng split() và in ra từ thứ hai trong dòng (i. e. toàn bộ địa chỉ của người đã gửi tin nhắn). Sau đó in ra một số ở cuối

Gợi ý. đảm bảo không bao gồm các dòng bắt đầu bằng 'Từ. '

fname = input('Nhập tên tập tin. ')

fhandle = mở (tên fname)

đếm = 0

cho dòng trong fhandle

nếu dòng. startedwith('Từ')

nếu dòng [4] là '. '

tiếp tục

khác

req_line = dòng. tách ra()

in(req_line[1])

đếm = đếm + 1

khác

tiếp tục

print('Có',count, 'các dòng trong tệp có From là từ đầu tiên')

=================================================================

Viết chương trình đọc qua mbox-short. txt và tìm ra ai đã gửi số lượng thư lớn nhất. Chương trình tìm các dòng 'Từ ' và lấy từ thứ hai của các dòng đó là người đã gửi thư. Chương trình tạo một từ điển Python ánh xạ địa chỉ thư của người gửi thành số lần chúng xuất hiện trong tệp. Sau khi từ điển được tạo ra, chương trình sẽ đọc qua từ điển bằng cách sử dụng một vòng lặp tối đa để tìm ra người đi làm sung mãn nhất

fname = input('Nhập tên tập tin. ')

fhandle = mở (tên fname)

reg_mailer = dict() # bưu phẩm thông thường

cho dòng trong fhandle

nếu dòng. startedwith('Từ')

nếu dòng [4] là '. '

tiếp tục

khác

từ = dòng. tách ra()

thư = từ [1]

khác

tiếp tục

# reg_mailer[mail] = reg_mailer. nhận(thư,0) + 1

nếu reg_mailer là Không có hoặc thư không có trong reg_mailer

reg_mailer[mail] = 1

khác

reg_mailer[mail] = reg_mailer[mail] + 1

a = max(reg_mailer. giá trị())

cho khóa, giá trị trong reg_mailer. mặt hàng()

nếu giá trị == a

in (phím, a)

khác

tiếp tục

=================================================================

Viết chương trình đọc qua mbox-short. txt và tìm ra phân phối theo giờ trong ngày cho mỗi thư

Bạn có thể kéo giờ ra khỏi dòng 'Từ ' bằng cách tìm thời gian rồi tách chuỗi lần thứ hai bằng dấu hai chấm

Từ Stephen. marquard@uct. AC. za Thứ bảy ngày 5 tháng 1 09. 14. 16 2008

Khi bạn đã tích lũy số đếm cho mỗi giờ, hãy in ra số đếm, được sắp xếp theo giờ như hình bên dưới