我有一个缩进问题:我的函数返回0.0,而不是一个计算值

2024-10-01 19:19:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Pokemon中为一个损害计算器编写了一个代码,如果在html表单中给定了所需的数据,它将返回一个计算值(基于损害公式)。我确信html表单是正确的,但是计算器本身将返回0.0作为输出,尽管cgi.FieldStorage公司()已启用。在

本质上,我试图返回一个计算值,但我认为我对缩进的了解不足导致我的函数返回0.0 代码发布在pastebin上:Calculator Code

这个问题出现在我的getdamage()函数(超过1000行的函数)中。开头的变量是空字符串或0,如果html表单已提交,并且所有内容都已填写,则变量将添加数据。我还尝试在函数本身内运行一个计算(第129-131行):

    if t in moveList:
    basedamageindex += ((int((moveList.index(t)))) +3)
    basedamage+=(int(moveList[basedamageindex]))

写这三行是为了获得“base damage”,它是包含split.csv文件的moveList变量中的一个数值。在

^{pr2}$

这行代码位于pastebin的第133行。这是基于表格中获得的所有数据计算的损伤。以下几行:134-1523是为了检查一个动作的“有效性”。例如,电是非常有效的水,所以伤害将乘以2。这些都是使用前面函数的if语句:checkmovetype(x)、typea(x)和typeb(x),并检查在html表单中填写的pokemon的类型。然后将第133行相应地相乘。 代码最终返回损害和返回损害,代码的最后三行:

print '''<html><body>The damage output should be about ~'''
print getdamage()
print '''</body></html>'''

用来打印损坏情况。在

总之,当我提交html表单时,计算器将只返回0,但是应该返回一个计算值,尽管所有的区域都被填充了。我觉得这可能是我缩进的问题。有人能检查一下我的缩进是否有误吗?在

非常感谢。在


Tags: 数据函数代码表单ifhtmlbody计算器

热门问题