Hướng dẫn how do you avoid repetitions in python? - làm thế nào để bạn tránh lặp lại trong python?

Tôi có một vấn đề với sự hiểu biết về cách tránh lặp lại #Redundant trong các vòng lặp. Chương trình này dự định in các ước số của số trong phạm vi 2 và number:

number = int(input('Enter an integer: '))
for divisor in range (2, number):
    if number % divisor == 0:
        print (divisor)
    else:
        print (number, 'has no divisors in the range')

Mặc dù nó có thể trông rất cơ bản đối với bạn, nhưng tôi bối rối với việc tránh sự dư thừa.

Hướng dẫn how do you avoid repetitions in python? - làm thế nào để bạn tránh lặp lại trong python?

Selcuk

53.7K12 Huy hiệu vàng96 Huy hiệu bạc100 Huy hiệu đồng12 gold badges96 silver badges100 bronze badges

Đã hỏi ngày 4 tháng 2 năm 2019 lúc 5:35Feb 4, 2019 at 5:35

Hướng dẫn how do you avoid repetitions in python? - làm thế nào để bạn tránh lặp lại trong python?

5

Giữ một count cho các ước số và kiểm tra ở cuối nếu nó bằng không.

number = int(input('Enter an integer: '))
count = 0
for divisor in range (2, number):
    if number % divisor == 0:
        print (divisor)
        count += 1
if count == 0:
    print (number, 'has no divisors in the range')

Đã trả lời ngày 4 tháng 2 năm 2019 lúc 5:44Feb 4, 2019 at 5:44

Xashruxashruxashru

3.2002 huy hiệu vàng13 Huy hiệu bạc28 Huy hiệu đồng2 gold badges13 silver badges28 bronze badges

1

Theo cách tiếp cận này, bạn cần một biến bổ sung để giữ theo dõi xem có một ước số hay không. Cũng thụt vào khối else của bạn nên được loại bỏ. Hãy xem mã này:

number = int(input('Enter an integer: '))
is_divisor_found = False
for divisor in range(2, number):
    if number % divisor == 0:
        is_divisor_found = True
        print(divisor)
if not is_divisor_found:
    print(number, 'has no divisors in the range')

Đã trả lời ngày 4 tháng 2 năm 2019 lúc 5:44Feb 4, 2019 at 5:44

Hướng dẫn how do you avoid repetitions in python? - làm thế nào để bạn tránh lặp lại trong python?

XashruxashruTaohidul Islam

3.2002 huy hiệu vàng13 Huy hiệu bạc28 Huy hiệu đồng3 gold badges23 silver badges38 bronze badges

Theo cách tiếp cận này, bạn cần một biến bổ sung để giữ theo dõi xem có một ước số hay không. Cũng thụt vào khối else của bạn nên được loại bỏ. Hãy xem mã này:

number = int(input('Enter an integer: '))
has_divisors = False
for divisor in range (2, number):
    if number % divisor == 0:
        print (divisor)
        has_divisors = True
if not has_divisors:
    print (number, 'has no divisors in the range')

Taohidul Hồi giáo Hồi giáo Hồi giáoFeb 4, 2019 at 5:46

Hướng dẫn how do you avoid repetitions in python? - làm thế nào để bạn tránh lặp lại trong python?

5.1403 Huy hiệu vàng23 Huy hiệu bạc38 Huy hiệu ĐồngRon U

Tôi khuyên bạn nên lưu một lá cờ Boolean cho bạn biết liệu bạn có tìm thấy một ước số trong vòng lặp hay không. Cái gì đó như:1 gold badge5 silver badges18 bronze badges

Đã trả lời ngày 4 tháng 2 năm 2019 lúc 5:46

Ron uron u

import math

number = int(input('Enter an integer: '))
divisor = 2
have_divisor = False

while divisor <= math.sqrt(number):
    if number % divisor == 0:
        print (divisor)
        print (number/divisor)
        have_divisor = True
    divisor += 1

if not have_divisor:
    print (number, 'has no divisors')

3681 Huy hiệu vàng5 Huy hiệu bạc18 Huy hiệu đồng

Độ phức tạp của

number = int(input('Enter an integer: '))
count = 0
for divisor in range (2, number):
    if number % divisor == 0:
        print (divisor)
        count += 1
if count == 0:
    print (number, 'has no divisors in the range')
0 là
number = int(input('Enter an integer: '))
count = 0
for divisor in range (2, number):
    if number % divisor == 0:
        print (divisor)
        count += 1
if count == 0:
    print (number, 'has no divisors in the range')
1.Feb 4, 2019 at 5:50

Hướng dẫn how do you avoid repetitions in python? - làm thế nào để bạn tránh lặp lại trong python?

Trong khi chúng ta có thể tối ưu hóa cùng với

number = int(input('Enter an integer: '))
count = 0
for divisor in range (2, number):
    if number % divisor == 0:
        print (divisor)
        count += 1
if count == 0:
    print (number, 'has no divisors in the range')
2 như sau:Umair Mohammad

Tham khảo: https://www.geeksforgeek.org/find-divisors-natural-number-set-1/2 gold badges16 silver badges33 bronze badges

Đã trả lời ngày 4 tháng 2 năm 2019 lúc 5:50

number = int(input('Enter an integer: '))
divislbes = []

for divisor in range (2,number):
    if number % divisor == 0:
        divislbes.append(divisor)

print((number, "has no divisors in range.") if not divislbes else "The divisbles of ", number, " are: ", divislbes)

OUTPUT:

Enter an integer: 5
5 has no divisors in  range.

Umair Mohammadumair MohammadFeb 4, 2019 at 5:45

Hướng dẫn how do you avoid repetitions in python? - làm thế nào để bạn tránh lặp lại trong python?

4.3432 Huy hiệu vàng16 Huy hiệu bạc33 Huy hiệu đồngDirtyBit

Tại sao không chỉ tạo ra một

number = int(input('Enter an integer: '))
count = 0
for divisor in range (2, number):
    if number % divisor == 0:
        print (divisor)
        count += 1
if count == 0:
    print (number, 'has no divisors in the range')
3 của các ước số và chỉ nối thêm nếu có.4 gold badges30 silver badges54 bronze badges

0

Làm thế nào để bạn dừng sự lặp lại trong Python?

5 cách để loại bỏ các bản sao khỏi danh sách trong Python..
Phương pháp 1: Phương pháp ngây thơ ..
Phương pháp 2: Sử dụng danh sách toàn diện ..
Phương pháp 3: Sử dụng Set ().
Phương pháp 4: Sử dụng danh sách toàn diện + Enumerate ().
Phương pháp 5: Sử dụng bộ sưu tập.Đặt hàng.FromKeys ().

Làm thế nào để bạn ngăn một vòng lặp lặp lại?

Cách duy nhất để thoát một vòng lặp lặp lại là gọi phá vỡ.call break.

Làm thế nào để bạn loại bỏ các bản sao khỏi một vòng lặp trong Python?

Để loại bỏ các bản sao bằng cách sử dụng vòng lặp, trước tiên bạn tạo một danh sách trống mới. Sau đó, bạn lặp lại các phần tử trong danh sách chứa các bản sao và chỉ nối lần đầu tiên của mỗi yếu tố trong danh sách mới.Mã dưới đây cho thấy cách sử dụng vòng lặp để loại bỏ các bản sao khỏi danh sách sinh viên.first you create a new empty list. Then, you iterate over the elements in the list containing duplicates and append only the first occurrence of each element in the new list. The code below shows how to use for-loop to remove duplicates from the students list.