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
——它永远不会是零以外的任何值。另外,示例输入和预期输出总是有用的。