这是一个检查费马定理的程序。代码接受输入但不显示任何内容。
def bam(dam):
x="enter first digit"
a=raw_input(x)
int(a)
y="enter second digit"
b=raw_input(y)
int(b)
z="enter third digit"
a=raw_input(z)
int(b)
g="enter power"
n=raw_input(g)
int(n
)
def check_fermat(a,b,c,n):
if n>2 and a**n+b**n==c**n:
print "Holy Smokes Fermat was wrong!"
else:
print "N0, that doesnt work"
bam(check_fermat)
答案 0 :(得分:1)
你从不致电 check_fermat()
。如果bam
应该将输入应用于函数,则忘记添加该调用:
dam(int(a), int(b), int(c), int(n))
但您从未分配到c
(您已分配给b
两次)。
可以移除int()
函数中的所有bam()
次调用;他们没有做任何有用的事情,因为你忽略了他们的回报价值。
如果您使用了更有意义的名称,dam
可能如下所示:
def take_input(func):
a = int(raw_input("enter first digit"))
b = int(raw_input("enter second digit"))
c = int(raw_input("enter third digit"))
n = int(raw_input("enter power"))
return func(a, b, c, n)
并将其用作:
take_input(check_fermat)