打印时的Python舍入变量

2024-09-30 00:37:08 发布

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

我是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是我的第一语言。非常感谢你的帮助!你知道吗


Tags: to代码importyouinputosmanyhow
2条回答

当您编写print命令%i时,显式地告诉Python将值截断为整数。读这个http://docs.python.org/2/library/stdtypes.html#string-formatting-operations

将最后一行更改为将idealProb输出为浮点数,方法是使用%f而不是将%i作为整数。最后一句话是:

print("Ideal probability: %f" %(idealProb))

有关详细信息,请参见string format documentation。你知道吗

相关问题 更多 >

    热门问题