cuốn sách gpt4 ai đã làm

Cú pháp/hiểu biết về Python

In lại Tác giả: Taklimakan 更新时间:2023-11-03 04:01:09 25 4
mua khóa gpt4 Nike

def count_sort(mảng, giá trị tối đa):
"""sắp xếp đếm tại chỗ"""
m = giá trị tối đa + 1
count = [0] * m # init với số 0
cho một mảng:
count[a] += 1 # số lần xuất hiện
i = 0
cho một phạm vi (m): # phát ra
for c in range(count[a]): # - phát ra 'count[a]' bản sao của 'a' #CONFUSED
mảng [i] = một
tôi += 1
mảng trả về

print count_sort([1, 4, 7, 2, 1, 3, 2, 1, 4, 2, 3, 2, 1], 7)
# bản in: [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4, 7]

Vì vậy, trong đoạn mã trên, tôi không hiểu dòng tôi đã đánh dấu là bị xáo trộn, 4 dòng trước dòng cuối cùng. Có lẽ đó là vì tôi chưa quen với python hoặc chỉ là ngu ngốc.

  1. Điều gì đã xảy ra trong trường hợp đầu tiên? Khi phạm vi là [ ]? ... "Đối với mọi c trong phạm vi mảng trống...?
  2. Tôi cũng không hiểu nó ở dòng sau mảng [i] = một. Nếu a là phần tử đầu tiên trong mảng đếm có thể bằng 0, tôi làm cách nào để thêm nó...? Thực sự bối rối...

干杯!

câu trả lời hay nhất

rõ ràng là bạn đã biết rồi đếm [a] sẽ là 0, vì vậy phạm vi (đếm [a]) sẽ được [].

Vì vậy, bạn đang hỏi, cái này có tác dụng gì:

cho tôi trong []:
do_stuff(i)

Câu trả lời là nó lặp qua mọi phần tử 0 - nói cách khác, nó không lặp gì cả. Nó không làm gì cả. *

cái for statement Tài liệu giải thích điều này:

… Sau đó, bộ phần mềm này sẽ được thực thi một lần cho mỗi mục do trình vòng lặp cung cấp… Khi các mục đã hết (tức là ngay khi dãy trống…) … vòng lặp kết thúc.


Điều này ngầm giải thích sự nhầm lẫn thứ hai của bạn:

Nếu a là phần tử đầu tiên trong mảng đếm, có thể bằng 0 thì làm cách nào để thêm nó vào?

đếm [a] Ở mức 0, bạn không bao giờ vào vòng lặp nên tình trạng này không bao giờ xảy ra.


* nếu như for Tuyên bố có một khác mệnh đề, nó sẽ chạy khác khoản.

Về cú pháp/sự hiểu biết về Python, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/19850024/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress