0
ユーザに整数の範囲を尋ねるコードを書く必要があります。そして、その範囲のどの整数が少なくとも3つの要素(1と整数自体を除く)を持つかを計算する必要があります。私は、整数が複数の同じ要素を持つことができるという事実を考慮する方法を知らない。例えば、プログラムで2と4の2つの整数に分割するので、整数8は偽の値を返す。価値が真実であること、8は3の2つの要因に分けることができるからです。私はそれをどのように修正するのですか?Pythonで整数をチェックする
def does_integer_have_3_or_more_factors(x):
num_of_factors = 0
for i in range(2, x):
if x % i == 0:
num_of_factors += 1
if num_of_factors >= 3 :
return True
else :
return False
def main():
integer1 = int(input("Give first positive integer.\n"))
integer2 = int(input("Give last integer.\n"))
print("These integers have at least 3 factors.")
for x in range(integer1, integer2 + 1):
if does_integer_have_3_or_more_factors(x) == True:
print(x)
main()
を確認してください。 8の要素は1,2,4,8です。 –
私はあなたの質問を理解するのに苦労しています... 8は、1、2、4、8という要素を持っているので、Falseを返します。 1と8を含める場合は、1つだけ多くの要素が必要です。そうでなければ、あなたのソリューションは、あなたがしたいと言ったことをすると思います。 –