python
def check(inputs):
l=[]
for i in range(1,inputs-1):
if inputs%i==0:
l.append(i)
Sum=sum(l)
return Sum
d=int(input())
a=0
if 1<= d<= 50:
while a<=d:
p=int(input())
if 2<=p<=2000:
if check(p)==p:
print("perfect")
elif check(p)==p-1:
print("nealy")
else:
print("neither")
a+=1
上記のコードを実行したところランタイムエラーになってしまいます。
p=inputの部分がよくないみたいです。
それと、whileの部分の処理ですが、これは決められた回数分まで処理を実行できるという意味のコードなのですが、外部にaという余計な変数を定義してしまったりしていてある意味力業になってしまっています。
シンプルに記述する方法はありますでしょうか?
その他にも改善点があればご指摘いただきたく思います。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー