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ìnhdef 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
0def 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 đâydef 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
2Bạn thậm chí có thể rút ngắn điều này thành
elif num % 5==0:
return 'Buzz'
return num
3Sử 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