Vì vậy, tôi đã có một câu hỏi mà tôi phải tìm ra tổng số các số tự nhiên đầu tiên bằng Python.
Đây là vấn đề:
Viết một chương trình để tìm tổng các khối của N Số tự nhiên đầu tiên, trong đó giá trị của N được cung cấp bởi người dùng.
Và đây là mã mà giáo sư của tôi đã sử dụng để cho phép thông dịch viên tạo ra kết quả:
= int [input ["Nhập một số:"]]
sum = 0
Đối với i trong phạm vi [n + 1]: sum = sum + i*i*i
# vì tôi trong phạm vi bắt đầu như một vòng lặp, và sau đó cố gắng đến [n + 1], bất cứ điều gì có thể
in ["tổng của lần đầu tiên", n, "số nguyên là", tổng]
Tuy nhiên, tôi dường như không thể hiểu "đối với i trong phạm vi [n + 1]: sum = sum + i * i * i" có nghĩa là gì. Nói cách khác, tôi không hiểu phần này của mã này đang làm gì để tạo ra kết quả. Đặc biệt, tôi không hiểu vai trò của "đối với tôi trong phạm vi [n + 1]" đang làm gì. Có ai quan tâm giải thích điều này với tôi không?"for i in range [n + 1]: sum = sum + i * i * i" means. In other words, I don't understand what role this part of the code is doing to produce the result. Especially, I don't understand what the role of "for i in range [n + 1]" is doing. Does anyone mind explaining this to me?
Các vòng lặp là một trong những cấu trúc điều khiển chính trong bất kỳ ngôn ngữ lập trình nào và Python không khác. Trong bài viết này, chúng tôi sẽ xem xét một vài ví dụ sử dụng các vòng lặp Như đã thảo luận trong tài liệu của Python, for
với chức năng range[]
của Python.Cho các vòng trong Python
for
Vòng lặp lặp lại một phần mã cho một tập hợp các giá trị.for
Loops hoạt động hơi khác so với các ngôn ngữ như JavaScript hoặc C.
Vòng lặp for
đặt biến Iterator thành từng giá trị trong danh sách, mảng hoặc chuỗi được cung cấp và lặp lại mã trong phần thân của vòng for
cho mỗi giá trị của biến lặp.
Trong ví dụ dưới đây, chúng tôi sử dụng vòng lặp for
để in mọi số trong mảng của chúng tôi.
# Example for loop
for i in [1, 2, 3, 4]:
print[i, end=", "] # prints: 1, 2, 3, 4,
Chúng ta cũng có thể bao gồm logic phức tạp hơn trong cơ thể của một vòng lặp for
. Trong ví dụ này, chúng tôi in kết quả của một tính toán nhỏ dựa trên giá trị của biến số lặp của chúng tôi.
# More complex example
for i in [1, 3, 5, 7, 9]:
x = i**2 - [i-1]*[i+1]
print[x, end=", "] # prints 1, 1, 1, 1, 1,
Khi các giá trị trong mảng cho vòng lặp for
của chúng tôi là tuần tự, chúng tôi có thể sử dụng hàm range[]
của Python thay vì viết ra nội dung của mảng của chúng tôi.
Hàm phạm vi trong Python
Hàm range[]
cung cấp một chuỗi các số nguyên dựa trên các đối số của hàm. Thông tin bổ sung có thể được tìm thấy trong tài liệu của Python cho hàm range[]
.
range[stop]
range[start, stop[, step]]
Đối số
range[stop]
range[start, stop[, step]]
0 là giá trị đầu tiên trong phạm vi. Nếu range[]
được gọi chỉ với một đối số, thì Python giả định range[stop]
range[start, stop[, step]]
2.Đối số
range[stop]
range[start, stop[, step]]
3 là giới hạn trên của phạm vi. Điều quan trọng là phải nhận ra rằng giá trị trên này không được bao gồm trong phạm vi.Trong ví dụ dưới đây, chúng tôi có một phạm vi bắt đầu ở giá trị mặc định là
range[stop]
range[start, stop[, step]]
4 và bao gồm các số nguyên nhỏ hơn range[stop]
range[start, stop[, step]]
5.# Example with one argument
for i in range[5]:
print[i, end=", "] # prints: 0, 1, 2, 3, 4,
Trong ví dụ tiếp theo của chúng tôi, chúng tôi đặt
range[stop]
range[start, stop[, step]]
6 và một lần nữa bao gồm các số nguyên nhỏ hơn range[stop]
range[start, stop[, step]]
5.# Example with two arguments
for i in range[-1, 5]:
print[i, end=", "] # prints: -1, 0, 1, 2, 3, 4,
Giá trị
range[stop]
range[start, stop[, step]]
8 tùy chọn kiểm soát sự gia tăng giữa các giá trị trong phạm vi. Theo mặc định, range[stop]
range[start, stop[, step]]
9.Trong ví dụ cuối cùng của chúng tôi, chúng tôi sử dụng phạm vi số nguyên từ
# Example with one argument
for i in range[5]:
print[i, end=", "] # prints: 0, 1, 2, 3, 4,
0 đến range[stop]
range[start, stop[, step]]
5 và đặt # Example with one argument
for i in range[5]:
print[i, end=", "] # prints: 0, 1, 2, 3, 4,
2.# Example with three arguments
for i in range[-1, 5, 2]:
print[i, end=", "] # prints: -1, 1, 3,
Bản tóm tắt
Trong bài viết này, chúng tôi đã xem xét các vòng for
trong chức năng Python và range[]
.
for
Các vòng lặp lặp lại một khối mã cho tất cả các giá trị trong danh sách, mảng, chuỗi hoặc range[]
.
Chúng ta có thể sử dụng range[]
để đơn giản hóa việc viết vòng lặp for
. Giá trị
range[stop]
range[start, stop[, step]]
3 của range[]
phải được chỉ định, nhưng chúng tôi cũng có thể sửa đổi giá trị range[stop]
range[start, stop[, step]]
0 và range[stop]
range[start, stop[, step]]
8 giữa các số nguyên trong range[]
.Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu
Tìm hiểu về hàm python [] và khả năng của nó
Ảnh của Kay trên unsplashGiới thiệu
range[]
là một hàm được xây dựng trong Python. Nó trả về một chuỗi các số bắt đầu từ 0 và tăng thêm 1 theo mặc định và dừng trước số đã cho.
Bây giờ chúng ta đã biết định nghĩa của phạm vi, hãy để Lừa xem cú pháp:
range[start, stop, step]
Nó có ba tham số, trong đó hai tham số là tùy chọn:
5 Nó có một tham số tùy chọn được sử dụng để xác định điểm bắt đầu của chuỗi. Theo mặc định, nó không có.# Example with two arguments for i in range[-1, 5]: print[i, end=", "] # prints: -1, 0, 1, 2, 3, 4,
6 Nó là một tham số bắt buộc, được sử dụng để xác định điểm dừng của chuỗi# Example with two arguments for i in range[-1, 5]: print[i, end=", "] # prints: -1, 0, 1, 2, 3, 4,
7 Nó cũng là một tham số tùy chọn được sử dụng để chỉ định sự gia tăng trên mỗi lần lặp; Theo mặc định, giá trị là một.# Example with two arguments for i in range[-1, 5]: print[i, end=", "] # prints: -1, 0, 1, 2, 3, 4,
Cách sử dụng chung
Khi nó trả về một chuỗi các số, hầu hết các nhà phát triển sử dụng phạm vi để viết các vòng lặp. Điều này có ích khi bạn không có danh sách hoặc tuple, nhưng chỉ có một giá trị cụ thể để thực hiện vòng lặp.
Biến thể một
Ở đây chúng tôi sẽ thực hiện một vòng lặp cho chỉ với một tham số giá trị 48 48.
Ở đây
# Example with two arguments
for i in range[-1, 5]:
print[i, end=", "] # prints: -1, 0, 1, 2, 3, 4,
9s phạm vi mà chúng tôi đã sử dụng để thực hiện vòng lặp và # Example with three arguments
for i in range[-1, 5, 2]:
print[i, end=", "] # prints: -1, 1, 3,
0 là giá trị trong mỗi lần lặp. Quan sát rằng đầu ra kết thúc trước giá trị range[stop]
range[start, stop[, step]]
3; Nó không bao giờ là một phần của vòng lặp phạm vi tương tự như # Example with three arguments
for i in range[-1, 5, 2]:
print[i, end=", "] # prints: -1, 1, 3,
2.Biến thể hai
Ở đây chúng tôi sẽ triển khai vòng lặp FOR bằng cách sử dụng bắt đầu và dừng làm tham số.
Biến thể ba
Bây giờ, chúng tôi sẽ sử dụng cả ba tham số:
range[stop]
range[start, stop[, step]]
0, range[stop]
range[start, stop[, step]]
3 và range[stop]
range[start, stop[, step]]
8. Có một cái nhìn:Vì giá trị bước là 2, thay vì tăng thêm 1, mức tăng vòng 2 trên mỗi lần lặp. Một trong những điều quan trọng mà chúng ta cần ghi nhớ là giá trị bước không bao giờ nên bằng không; Khác, nó sẽ ném một ngoại lệ
# Example with three arguments
for i in range[-1, 5, 2]:
print[i, end=", "] # prints: -1, 1, 3,
6.Lặp lại các loại danh sách
Cùng với các vòng lặp, range[]
cũng được sử dụng để lặp lại các loại danh sách bằng hàm
# Example with three arguments
for i in range[-1, 5, 2]:
print[i, end=", "] # prints: -1, 1, 3,
8 và truy cập các giá trị thông qua # Example with three arguments
for i in range[-1, 5, 2]:
print[i, end=", "] # prints: -1, 1, 3,
9. Có một cái nhìn:Phạm vi ngược
Chúng tôi có thể đưa ra các số dương hoặc âm cho bất kỳ tham số nào trong phạm vi. Tính năng này cung cấp cơ hội để thực hiện các vòng lặp ngược. Chúng ta có thể làm điều này bằng cách chuyển một chỉ số cao hơn dưới dạng
range[stop]
range[start, stop[, step]]
0 và giá trị range[stop]
range[start, stop[, step]]
8 âm. Có một cái nhìn:Tạo danh sách, đặt và tuple bằng phạm vi
Range [] có ích trong nhiều tình huống, thay vì chỉ sử dụng để viết các vòng lặp. Ví dụ: chúng tôi tạo danh sách, đặt và tuple bằng cách sử dụng chức năng phạm vi thay vì sử dụng các vòng lặp để tránh mã nồi hơi. Có một cái nhìn:
Để làm cho nó thú vị hơn một chút, chúng ta có thể vượt qua các giá trị âm theo bước để tạo danh sách đơn hàng tăng dần. Có một cái nhìn:
Phạm vi lập chỉ mục
Giống như cách chúng tôi truy cập các giá trị trong danh sách bằng chỉ mục, chúng tôi có thể làm tương tự cho phạm vi. Cú pháp cũng tương tự như truy cập chỉ mục danh sách.
Đối số nổi trong phạm vi
Theo mặc định, hàm range[]
chỉ cho phép số nguyên làm tham số. Nếu bạn vượt qua giá trị dòng chảy, thì nó sẽ ném lỗi sau:
TypeError: 'float' object cannot be interpreted as an integer
Nhưng có một cách giải quyết cho việc này; Chúng ta có thể viết một chức năng Python tùy chỉnh tương tự như mô hình dưới đây. Nó sẽ cho phép bạn chỉ định giá trị float cho đối số bước.
Đó là tất cả bây giờ, hy vọng bạn đã học được điều gì đó hữu ích, cảm ơn vì đã đọc.
Bạn có thể tìm thấy tôi trên Medium, Twitter, Quora và LinkedIn.