编辑:
好吧,经过大家的努力,我终于成功了!我把它简化了很多,以摆脱长链。以下是我所拥有的:def main():
var = (raw_input("Enter an integer: "))
a = get_number(var)
if a != False:
switch = by_three(int(a))
if switch == True:
return
else:
print "Try again!"
main()
else:
main()
def get_number(parameter):
if parameter.isdigit():
return parameter
else:
print "No, I said an INTEGER. \"%s\" is not an integer." % parameter
return False
def by_three(placeholder):
if placeholder % 3 == 0:
print "%d is divisible by 3. Isn't that terrific." % placeholder
return True
else:
print '%d is not divisible by 3. Boo hoo.' % placeholder
return False
print "Let's find an integer divisible by 3."
main()
有什么理由不应该在else语句中返回main()?有没有其他方法可以让程序回到开头?在
在---
我试图构建一个简单的命令行程序来查找可被3整除的数字。我们的想法是一直要求一个数字,直到用户选择一个可以被3整除的数字。我的代码是:
^{pr2}$
好的,我想是这样的:变量switch被传递给nd,后者被传递给tf。如果另一个变量(变为var>;parameter>;placeholder)可被3整除,则tf返回True-这意味着当我用“while”测试该变量时,该变量将被更改
一定不是这样的,有人能解释一下我是怎么把事情误解得这么严重吗?将变量传递给函数(并返回它们!)我很困惑。在