程序必须结束但不会停止

1 python math division

我正在尝试构建一个程序来控制整数是否可以被'9'整除.我有这个代码.

import sys
a=int(sys.argv[1])

if a < 1:
    pos_num= a*(-1)
    b=map(int, str(pos_num))
    c=sum(b)
    print(c)
else:
    b=map(int, str(a))
    c=sum(b)
    print(c)


if c > 10:
    d=map(int, str(c))
    d1= sum(d)
    print(d1)
elif c==9:
    print("yes")
else:
    print("no")


if d1 > 10:
    e=map(int, str(d1))
    e1= sum(e)
    print(e1)
elif c==9:
    print("yes")
else:
    print("no")


if e1 > 10:
    f=map(int, str(e1))
    f1= sum(f)
    print(d1)
elif c==9:
    print("yes")
else:
    print("no")
Run Code Online (Sandbox Code Playgroud)

问题是当整数不大(例如'27')时,程序将显示它没有'd1'的值.有人有建议吗?

lev*_*501 5

用.替换整个程序

import sys
print("yes" if ((int(sys.argv[1]) % 9)==0) else "no")
Run Code Online (Sandbox Code Playgroud)

  • 当然,您看到的错误是因为d1仅在c> 10时定义. (2认同)