我是python的新手,很抱歉,如果我的问题用词不当,请容忍我。所以基本上我正在做一个程序来计算随机生成一个(x)边骰子所选边的几率。问题是,当我试图打印变量“idealProb”时,它似乎舍入到0,除非它的概率为100%,但是在调试器中,它说实际的小数只有当它打印到终端时才会出错。你知道吗
import random
import sys
import os
import time
clear = lambda: os.system('cls')
clear()
rolls = []
sides = []
x = 1
totalSides = int(input("How many sides do you want this die to have?"))
clear()
numSides = int(input("How many of those sides are you trying to land on?"))
nS = numSides
while numSides >= 1:
clear()
s = int(input("Possibility %i:" %(x)))
sides.append(s)
numSides -= 1
x += 1
idealProb = nS / totalSides
print("Ideal probability: %i" %(idealProb))
另外,关于我的代码的任何其他评论,关于如何使代码不那么混乱或更容易完成我正在做的事情的任何建议,请让我知道我对Python和一般的编码都相当陌生,因为Python是我的第一语言。非常感谢你的帮助!你知道吗
当您编写print命令%i时,显式地告诉Python将值截断为整数。读这个http://docs.python.org/2/library/stdtypes.html#string-formatting-operations
将最后一行更改为将
idealProb
输出为浮点数,方法是使用%f
而不是将%i
作为整数。最后一句话是:有关详细信息,请参见string format documentation。你知道吗
相关问题 更多 >
编程相关推荐