-1

if/else ステートメントに問題があります。これが私のコードです。質問は、コード自体の複数行のコメントで説明されています。

def cube(*number):
    return number**3
def by_three(number):
    if number/3==0: #Checks if number is divisible by 3.
        cube_of=cube(number) #Cubes number.
        print(cube_of) #Prints cube of number.
        return False
    else:
        print("Your number isn't divisible by three. Try again.") #Comment is below
        """
        Tells if number is not divisible by three. If I give 9 as the argument, 
        this block is executed. Why so?
        """
        return True
while True:
    by_three(int(input("Give me any number divisible by three: ")))

問題はコードにあります。私は初心者にすぎないので、回答には簡単な用語を使用してください。

4

1 に答える 1

6

除算演算子ではなくモジュロ演算子を使用する必要があります。

if number % 3 == 0:

試す

print(9 % 3)
print(9 / 3)

あなたは得るでしょう

0
3.0

モジュロ演算子は除算の余りを返し、除算演算子は除算の商を返します。

于 2013-11-06T10:41:14.110 に答える