在程序上添加向下舍入功能

时间:2014-02-10 20:01:10

标签: python

我的程序旨在允许用户创建一个具有两个带值的属性的角色。这些属性称为力量和技能。属性值由1到12之间的随机数创建,除以1到4之间的数字。结果加到10.小数可以出现,所以我希望我的程序向下舍入小数。我希望它向下舍入,即使数字是例如5.6。然后将成为5.我不知道如何将此实现到我当前的代码。我也希望将信息保存到文本文件中,但这不太重要。我是python的菜鸟,我很感激帮助,谢谢。

我当前的代码

from random import randint
Strenght = 10
Skill = 10

while True:
    character = str(input("Enter name of your character\n"))
    if character:
        print("Your characters name is",character)
        print("They have",Strenght + randint(1,12)/randint(1,4),"Strenght")
        print("And",Skill + randint(1,12)/randint(1,4),"Skill")


if input("Would you like to make another character? \n").lower() not in ("yes","y"):
    break

2 个答案:

答案 0 :(得分:3)

您想使用math.floor()命令。它总是向下舍入。

>>> import math
>>> print (math.floor(5.6))
5.0

您也可以使用math.ceil()向上舍入或舍入到最接近round()的整数。

答案 1 :(得分:2)

由于您要分割的两个数字都是整数,因此您可以使用整数除//来生成整数输出,其余部分将被删除。

>>> print 17 // 3
5
>>> from __future__ import division
>>> print 17 / 3
5.66666666667