python中这样取余数出错?

新手上路,请多包涵
def calculate(parameter_one, parameter_two):
    demo = parameter_one % parameter_two

print "%r % %r = %r" % (parameter_one, parameter_two, demo)

错误提示: not all arguments converted during string formatting

阅读 9.8k
2 个回答

Python的縮進是個坑

def calculate(parameter_one, parameter_two):
    demo = parameter_one % parameter_two
    print "%r % %r = %r" % (parameter_one, parameter_two, demo)

代码应该是这样的:

def calculate(parameter_one, parameter_two):
    demo = parameter_one % parameter_two
    return demo

print "%r % %r = %r" % (parameter_one, parameter_two, calculate(parameter_one, parameter_two))

这不是python取余数出错的问题,而是变量作用域的问题,print是在函数外,不能访问到calculate函数中的局部变量demo的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题