Hướng dẫn how do you check for multiples in python? - làm thế nào để bạn kiểm tra bội số trong python?

Tôi có nhiệm vụ này và tôi rất mới với toán học và python. Có ai biết cách giải quyết điều này?

Hoàn thành chức năng này in các số nguyên từ 1 đến 100 (bao gồm).

1) Đối với các số là bội số của ba in "fizz" thay vì số

2) Đối với các số là bội số của năm in "buzz" thay vì số và

3) Đối với các số là bội số của cả ba và năm in "fizzbuzz" thay vì số

Tôi đã thử điều này:

x=1
while x <= 100:


    if x/3 ==int and x/5 ==int:
        print ("FizzBuzz")
    elif x/3 == int:
        print("Fizz")
    elif x/5 == int:
        print("Buzz")
    else:
        print(x)
    x=x+1

Và nó không hoạt động.

Hướng dẫn how do you check for multiples in python? - làm thế nào để bạn kiểm tra bội số trong python?

Đã hỏi ngày 3 tháng 12 năm 2014 lúc 11:09Dec 3, 2014 at 11:09

Toán tử modulo trả về phần còn lại, vì vậy tất cả những gì bạn phải kiểm tra xem nếu còn lại của x chia cho 3 hoặc 5 bằng 0.

Sử dụng toán tử mô -đun

if x%3 == 0 and x%5 == 0:  
    print ("FizzBuzz")

elif x%3 == 0 :
        print("Fizz")
elif x%5 == 0 :
        print("Buzz")
0.

if x%3 == 0 and x%5 == 0:  
    print ("FizzBuzz")

elif x%3 == 0 :
        print("Fizz")
elif x%5 == 0 :
        print("Buzz")

hoặc sử dụng nhà điều hành

if x%3 == 0 and x%5 == 0:  
    print ("FizzBuzz")

elif x%3 == 0 :
        print("Fizz")
elif x%5 == 0 :
        print("Buzz")
1

if not x%3 and not x%5:
    print ("FizzBuzz")

if x%3 == 0 and x%5 == 0:  
    print ("FizzBuzz")

elif x%3 == 0 :
        print("Fizz")
elif x%5 == 0 :
        print("Buzz")
2 là
if x%3 == 0 and x%5 == 0:  
    print ("FizzBuzz")

elif x%3 == 0 :
        print("Fizz")
elif x%5 == 0 :
        print("Buzz")
3 và
if x%3 == 0 and x%5 == 0:  
    print ("FizzBuzz")

elif x%3 == 0 :
        print("Fizz")
elif x%5 == 0 :
        print("Buzz")
4 là
if x%3 == 0 and x%5 == 0:  
    print ("FizzBuzz")

elif x%3 == 0 :
        print("Fizz")
elif x%5 == 0 :
        print("Buzz")
5.

hoặc sử dụng chức năng xây dựng

if x%3 == 0 and x%5 == 0:  
    print ("FizzBuzz")

elif x%3 == 0 :
        print("Fizz")
elif x%5 == 0 :
        print("Buzz")
6.

Tất cả: (có thể sai) │ All (itable) -> bool │ return true nếu bool (x) là đúng đối với tất cả các giá trị x trong
│all(iterable) -> bool

│Return True if bool(x) is True for all values x in the

 if not all([x%3, x%5]):
    print ("FizzBuzz")

Đã trả lời ngày 3 tháng 12 năm 2014 lúc 11:10Dec 3, 2014 at 11:10

Hướng dẫn how do you check for multiples in python? - làm thế nào để bạn kiểm tra bội số trong python?

Vishnu upadhyayvishnu upadhyayVishnu Upadhyay

4.9971 Huy hiệu vàng13 Huy hiệu bạc26 Huy hiệu đồng1 gold badge13 silver badges26 bronze badges

2

for num in range(1,101):
    if num%3==0 and num%5==0:
        print("FizzBuzz")

    elif num%3==0:
        print("Fizz")

    elif num%5==0:      
        print("Buzz")

    else:
        print(num)

Ở đây

if x%3 == 0 and x%5 == 0:  
    print ("FizzBuzz")

elif x%3 == 0 :
        print("Fizz")
elif x%5 == 0 :
        print("Buzz")
0 là toán tử modulo trả về phần còn lại. Bội số của 3 có phần còn lại là 0 khi chia cho 3 và vân vân.

Hướng dẫn how do you check for multiples in python? - làm thế nào để bạn kiểm tra bội số trong python?

PM 2ring

53.2K5 Huy hiệu vàng80 Huy hiệu bạc171 Huy hiệu đồng5 gold badges80 silver badges171 bronze badges

Đã trả lời ngày 3 tháng 12 năm 2014 lúc 11:15Dec 3, 2014 at 11:15

Nishparadoxnishparadoxnishparadox

7105 Huy hiệu bạc13 Huy hiệu Đồng5 silver badges13 bronze badges

Logic của bạn vẫn ổn, nhưng cú pháp Python của bạn bị lỗi. Những người khác đã chỉ cho bạn cách thực hiện những gì bạn muốn sử dụng toán tử modulo

if x%3 == 0 and x%5 == 0:  
    print ("FizzBuzz")

elif x%3 == 0 :
        print("Fizz")
elif x%5 == 0 :
        print("Buzz")
0. Vì vậy, tôi sẽ cho bạn biết lý do tại sao mã bạn đã đăng không hoạt động.

Trong Python 3, khi bạn sử dụng toán tử

if x%3 == 0 and x%5 == 0:  
    print ("FizzBuzz")

elif x%3 == 0 :
        print("Fizz")
elif x%5 == 0 :
        print("Buzz")
9, kết quả luôn là
if not x%3 and not x%5:
    print ("FizzBuzz")
0 (số điểm nổi), ngay cả khi câu trả lời có thể được biểu thị dưới dạng số nguyên; Để buộc Python sử dụng phân chia số nguyên trên các giá trị số nguyên, bạn sử dụng toán tử
if not x%3 and not x%5:
    print ("FizzBuzz")
1. Vì vậy, chỉ cần thực hiện một bộ phận và sau đó kiểm tra nếu loại kết quả là
if not x%3 and not x%5:
    print ("FizzBuzz")
2 không hữu ích.

Có thể sử dụng từ khóa

if not x%3 and not x%5:
    print ("FizzBuzz")
2 để kiểm tra xem một đối tượng là số nguyên, nhưng cú pháp cần phải làm điều đó hơi khác với những gì bạn đã viết. Cú pháp thích hợp giống như

a = 5
isinstance(5, int)

hoặc

a = 5
type(a) is int

Hình thức đầu tiên được ưa thích.

Từ khóa

if not x%3 and not x%5:
    print ("FizzBuzz")
2 thực sự tạo ra một đối tượng
if not x%3 and not x%5:
    print ("FizzBuzz")
5. Như bạn có thể biết, bạn có thể gọi nó là một hàm để chuyển đổi một đối tượng thành số nguyên, ví dụ
if not x%3 and not x%5:
    print ("FizzBuzz")
6 chuyển đổi chuỗi
if not x%3 and not x%5:
    print ("FizzBuzz")
7 thành số nguyên 5. Nhưng bạn nên nhập
if not x%3 and not x%5:
    print ("FizzBuzz")
2 vào trình thông dịch trên một dòng và xem những gì được in.

Đã trả lời ngày 3 tháng 12 năm 2014 lúc 11:52Dec 3, 2014 at 11:52

Hướng dẫn how do you check for multiples in python? - làm thế nào để bạn kiểm tra bội số trong python?

PM 2ringPM 2ringPM 2Ring

53.2K5 Huy hiệu vàng80 Huy hiệu bạc171 Huy hiệu đồng5 gold badges80 silver badges171 bronze badges