Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 向if语句中的变量添加数字_Python_List_Variables_If Statement_Tuples - Fatal编程技术网

Python 向if语句中的变量添加数字

Python 向if语句中的变量添加数字,python,list,variables,if-statement,tuples,Python,List,Variables,If Statement,Tuples,我正在做一个程序,它将根据给定的数字随机选择一个获胜者。我已经完成了这个项目,但是我很难找到解决某一特定问题的方法 这是我的密码: player1Luck = 0 player1Luck = player1Luck / 2 player1Luck = player1Luck + 15 if player1Luck > 50: player1Luck = player1Luck + 30 probabilities.extend

我正在做一个程序,它将根据给定的数字随机选择一个获胜者。我已经完成了这个项目,但是我很难找到解决某一特定问题的方法

这是我的密码:

    player1Luck = 0
    player1Luck = player1Luck / 2
    player1Luck = player1Luck + 15
    if player1Luck > 50:
        player1Luck = player1Luck + 30
        probabilities.extend([player1] * int(player1Luck))
        print(player1Luck)
        print(player1 + " Your number is:", str(player1num) + "! You have a percentage to win of: ", str(player1Luck) + "%!")
    else:
        probabilities.extend([player1] * int(player1Luck))
        print(player1 + " Your number is:", str(player1num) + "! You have a percentage to win of: ", str(player1Luck) + "%!")
因此,第一部分(在if语句之前)是完全正确的,数字加起来非常完美。只有当if语句中的数字相加错误时,才会出现这种情况。例如,我说如果player1Luck变量大于50,则向其添加一个额外的30,相反,这个数字与我决定实现此功能之前的数字相比已经非常低了。下面是我在更改变量名等以尝试解决此问题之前的代码

newnum = player2num / 2
newnumadded = newnum + 10
if newnumadded > 50:
    bonusnum = newnumadded + 50
    print(player2 + " Your number is:", str(player2num) + "! You have a percentage to win of: ", str(bonusnum) + "%!")
    probabilities.extend([player2] * int(bonusnum))
else:
    print(player2 + " Your number is:", str(player2num) + "! You have a percentage to win of: ", str(newnumadded) + "%!")
    probabilities.extend([player2] * int(newnumadded))

我知道问题可能出在一些输入错误的代码上,但我已经彻底检查了它,而且我的工作非常艰难,我对Python也很陌生,所以我自己构造代码可能还不够。

我强烈建议了解Python调试器。在这样的情况下,它是非常宝贵的。除此之外,如果您正使用前3行,那么您的
player1Luck
在检查之前始终为15。我不明白你为什么要将0分配给它,或者你期望从中得到什么。@Lafexlos打印语句调试肯定很有用,而且一直是我的第一条途径,但如果我不确定到底发生了什么,我会选择pdb。或者现在是pudb。就像我说的,我已经有一段时间没有编程了,我只是想知道问题是什么。。有人知道吗?@MattJones看起来问题在于你没有提供足够的代码让我们能够分辨。我注意到您使用了
player1num
而不是
player2num
。正如Lafexlos提到的,您正在设置
player1Luck=0
——它永远不会是零以外的任何值。另外,示例输入和预期输出总是有用的。