Cách kiểm tra xem một số có phải là bội số của 5 trong python không

Tôi sẽ cố gắng điểm qua một số điểm có thể hữu ích cần lưu ý. Đầu tiên, có một số điều tôi thích về mã của bạn. Đầu tiên nó rất dễ đọc. Thứ hai, tôi thích rằng bạn chia logic của bạn. Bạn cũng chia tách tìm chuỗi và in nó. cái này tốt. Với điều này đã được nói, luôn có những điều có thể và nên được cải thiện

ngữ nghĩa

Bạn nên sử dụng mô-đun

    elif num % 5==0:
        return 'Buzz'
    return num
8 trong câu trả lời của mình

def fizz_buzz[num]:
    if num%3==0 and num%5==0:
        return 'FizzBuzz'

    elif num % 3 == 0:
        return 'Fizz'

    elif num % 5==0:
        return 'Buzz'
    else:
        return num

if __name__ == "__main__":

    for n in range[1,100]:
        print[fizz_buzz[n]]

Điều này làm cho mã của bạn có thể tái sử dụng sau này. Ví dụ: bạn có thể gọi các chức năng từ tệp của mình trong các chương trình khác. Mệnh đề

    elif num % 5==0:
        return 'Buzz'
    return num
9 của bạn ở cuối mã là vô ích. Bạn có thể đã viết

    elif num % 5==0:
        return 'Buzz'
    return num

lựa chọn thay thế

Một vấn đề với mã của bạn là bạn có nhiều điểm thoát. Bây giờ đây không phải là điều gì đó phải đổ mồ hôi quá nhiều, và nó không phải là mục tiêu để luôn cố gắng có một lối thoát duy nhất. Tuy nhiên, việc gỡ lỗi mã có ít điểm thoát hơn có thể dễ dàng hơn. Tất nhiên, điều này phù hợp hơn nhiều trong mã dài hơn và phức tạp hơn. Mặc dù đó là một điều tốt để luôn luôn có trong tâm trí. Một cách để làm điều này là xác định một biến mới

    elif num % 5==0:
        return 'Buzz'
    return num
0

def fizz_buzz[num]:
    string = ''
    if num%3==0 and num%5==0:
        string = 'FizzBuzz'

    elif num % 3 == 0:
        string = 'Fizz'

    elif num % 5==0:
        string = 'Buzz'

    if string:
       return string
    return num

Mã hiện chỉ có hai điểm thoát tuy nhiên nó vẫn có thể được cải thiện. Một điểm mấu chốt là nếu một số chia hết cho

    elif num % 5==0:
        return 'Buzz'
    return num
1 và
    elif num % 5==0:
        return 'Buzz'
    return num
2 thì nó cũng chia hết cho
    elif num % 5==0:
        return 'Buzz'
    return num
3. Vì vậy, chúng ta có thể dần dần xây dựng chuỗi, như hình dưới đây

def fizz_buzz[num]:
    string = ''

    if num % 3 == 0:
        string += 'Fizz'

    if num % 5==0:
        string += 'Buzz'

    if string:
       return string
    return num

Cuối cùng, câu lệnh ________ 14 có thể được viết bằng toán tử điều kiện bậc ba

return string if string else n

Kết hợp hai điểm thoát thành một điểm duy nhất. Để tóm tắt

    elif num % 5==0:
        return 'Buzz'
    return num
0

Đóng các bình luận

Python có một style guide PEP 8 giải thích rất chi tiết cách cấu trúc mã của bạn. Tôi hoàn toàn khuyên bạn nên lướt qua nó và làm theo nó

Bài toán

    elif num % 5==0:
        return 'Buzz'
    return num
5 rất, rất đơn giản. Nó có thể được giải quyết theo một số cách chỉ bằng một dòng đơn giản. Syb0rg, chỉ ra một cách để viết mã này

    elif num % 5==0:
        return 'Buzz'
    return num
2

Bạn thậm chí có thể rút ngắn điều này thành

    elif num % 5==0:
        return 'Buzz'
    return num
3

Sử dụng một số voodoo Pythonic khó hiểu. Tuy nhiên, như tôi đã nói trong phần giới thiệu, tôi thích mã của bạn, vì nó dễ hiểu. Hầu như luôn luôn tốt hơn là có mã rõ ràng, dễ đọc hơn mã khó hiểu ngắn hơn một vài dòng. Điều này tất nhiên bỏ qua bất kỳ cải tiến tốc độ và như vậy

Trong câu hỏi này, chúng ta sẽ xem cách kiểm tra xem một số có phải là bội số của 5 hay không trong lập trình Python bằng cách sử dụng câu lệnh if other. Để biết thêm về câu lệnh if other click vào bài học câu lệnh if other

Q5] Viết chương trình bằng Python để nhập vào một số bất kỳ và kiểm tra xem nó có phải là bội số của 5 hay không. Một số là bội của 5 nếu nó chia hết cho 5

Chương trình

    elif num % 5==0:
        return 'Buzz'
    return num
4

đầu ra

    elif num % 5==0:
        return 'Buzz'
    return num
5


Để đảm bảo một số đã cho có phải là bội của m hay không ta cần kiểm tra xem số đó có chia hết cho m hay không

Vì vậy, với mục đích này, chúng tôi sẽ kiểm tra việc sử dụng toán tử modulo Python [%] để tính phần còn lại của một phép chia. Chúng ta có thể đánh dấu m là bội số của một số đã cho Nếu phần còn lại bằng 0

Ví dụ dưới đây để kiểm tra xem một số đã cho có phải là bội số của 5 trong Python không

    elif num % 5==0:
        return 'Buzz'
    return num
6

    elif num % 5==0:
        return 'Buzz'
    return num
7

Đây là ý nghĩa của đoạn mã trên

Điều kiện ________ 20 trả về

    elif num % 5==0:
        return 'Buzz'
    return num
1nếu số chia hết cho dấu có nghĩa là số dư bằng 0 nếu không sẽ trả về
    elif num % 5==0:
        return 'Buzz'
    return num
2

Chủ Đề