1から1000までの各数値が3の倍数であるか5の倍数であるかをテストする必要があります。 3の倍数である。5と同じ。
数値が整数かどうかをテストするにはどうすればよいですか?
ここに私の現在のコードがあります:
n = 0
s = 0
while (n < 1001):
x = n/3
if isinstance(x, (int, long)):
print 'Multiple of 3!'
s = s + n
if False:
y = n/5
if isinstance(y, (int, long)):
s = s + n
print 'Number: '
print n
print 'Sum:'
print s
n = n + 1
これを行うには、モジュラス演算子%
を使用します
n % k == 0
n
がk
の正確な倍数である場合にのみtrueと評価されます。初等数学では、これは除算の剰余として知られています。
現在のアプローチでは、除算を実行すると、結果は次のいずれかになります。
可分性をテストするのは間違った方法です。
単純に%
Modulus演算子を使用して、可分性を確認できます。
たとえば:n % 2 == 0
は、nが正確に2で割り切れることを意味し、n % 2 != 0
は、nが正確に2で割り切れないことを意味します。
私も同じアプローチをしました。 module(%)演算子の使用方法がわからなかったからです。
6%3 = 0 *これは、6を3で割ると余りがないことを意味し、3は6の係数です
今、あなたはそれをあなたの与えられた問題に関連づけなければなりません。
if n%3 == 0 *これは、私のnumber(n)が3で割り切れる場合、0の余りを残しているということです
Then(print、return)ステートメントを追加して続行します
%operatorを使用して、指定された数値の可分性を確認できます
与えられたかどうかを確認するコード。 または5で割り切れます。以下は1000未満です。
n=0
while n<1000:
if n%3==0 or n%5==0:
print n,'is multiple of 3 or 5'
n=n+1
このコードは、あなたが求めていることをしているようです。
for value in range(1,1000):
if value % 3 == 0 or value % 5 == 0:
print(value)
または何かのような
for value in range(1,1000):
if value % 3 == 0 or value % 5 == 0:
some_list.append(value)
または何でも。