number = ?のところに好きな数字を入れるとその数字が完全数 or 完全数−1 or そのどちらでもない を判別してくれるプログラムを組んだのですが、完全数を入力した時に出力結果が「 完全数 どちらでもない」となってしまいます
python
number = ?
sum = 0
for k in range(1,number):
if number % k == 0:
sum += k
print(sum)
if sum == number:
print("完全数")
if sum == number - 1:
print("完全数ー1")
else:
print("どちらでもない")
入力値と出力結果です 16 15 完全数ー1 9 4 どちらでもない 28 28 完全数 どちらでもない 互いに独立な事象でやったつもりだったのですがif文の設定の仕方が悪かったのでしょうか (コピペした時に全部左寄りになってしまいましたが元のコードのインデントは問題なしです)
回答1件
あなたの回答
tips
プレビュー