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

python - Trung bình-Python

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 08:40:41 29 4
mua khóa gpt4 Nike

Tôi đang cố gắng tìm giá trị trung bình của các số trong một phạm vi (tức là tìm giá trị trung bình của tất cả các số trong phạm vi 1-1000). Tôi đã viết đoạn mã sau để làm điều này, nhưng vì câu lệnh if, khi chạy, mã sẽ tạo ra nhiều số. Sau đó tôi cố gắng sử dụng vòng lặp while thay vào đó, nhưng khi tôi gõ break tuyên bố, nó tạo ra câu lệnh if giống nhau danh sách sản xuất. Có cách nào để sử dụng câu lệnh if và nhận được 1 điểm trung bình? Cảm ơn!

danh sách của tôi =[]
def ave_data(x, y):
cho dòng trong tên tệp:
cho số trong line.split():
nếu int(số) > x và int(số) < y:
mylist.append(int(số))
in(tổng(mylist)/len(mylist))

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

Bởi vì câu lệnh if, nóKHÔNG. Bạn chỉ cần in(..) mặc for hình tròn nếu như ở giữa. bằng cách di chuyển nó ra bên ngoài for Nếu không nó sẽ intrung bình của toàn bộ tập tin:

def ave_data(x, y):
mylist = [] # di chuyển vào trong
cho dòng trong tên tệp:
cho số trong line.split():
nếu int(số) > x và int(số) < y:
mylist.append(int(số))
print(sum(mylist)/len(mylist)) # cho toàn bộ tệp.

Bạn cũng có thể thêm danh sách của tôi Các biến được chuyển sang tốt hơnnội bộchức năng. Nếu không thì nó là biến toàn cục và các hàm khác có thể thay đổi nó. Ngoài ra, lần chạy thứ hai sẽ lấy giá trị trung bình của hai tệp.

Điều đó đang được nói, bạn đang quá phức tạp hóa mọi thứ. Bạn chỉ có thể sử dụng:

def ave_data(x, y):
mylist = [int(number) cho dòng trong tên tệp cho số trong line.split()
nếu x < int(số) < y]
print(sum(mylist)/len(mylist)) # cho toàn bộ tệp.

Về python-average-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/45194037/

29 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