python - Python - 取一个 int 变量并用浮点数对其进行计时?
问题描述
作为一个学习项目,我正在尝试编写一个小游戏来简单地熟悉 Python 语言并培养我的编程技能。作为一名游戏玩家,我似乎总是想在游戏中添加额外的代码,以使其更具可玩性并因此变得有趣。现在我陷入了愚蠢,希望这很容易被更熟悉的人解决:
Python 3.8.8
我有一个随机选择的int并将其添加到变量中:
if act_trl_cls == trl_cls[0]:
trl_atk_pwr = random.randint(7.0, 10.0)
我要做的是创建一个浮点数(出于百分比目的)将其添加到变量中:
if act_trl_cls == trl_cls[0]:
trl_cls_wpn_ran = random.uniform(0.01, 0.05)
trl_cls_wpn_dmg = "{:.2f}".format(trl_cls_wpn_ran) # converts to two decimal points
...然后将它们相乘得到一个百分比,就像我们给小费一样。
例子:
账单总额:53.56 美元
53.56 美元 * .20 = 10.71 美元
53.56 美元 + 10.71 美元 = 64.27 美元
总计:64.27 美元
我的问题是我们如何在 Python 中表示它?每次我尝试:
if fight_confirmation == "Y" or fight_confirmation == "y":
total = trl_atk_pwr * trl_cls_wpn_dmg
...我最终得到:
0.030.030.030.030.030.030.030.03
...或其他一些变化,取决于随机函数和相应方法选择的随机int和float ,而不是分配给每个变量的相乘值的返回值。显然这不是正确的方法。
解决方案
您必须在乘法之前将其转换为浮点数,如下所示。
if fight_confirmation == "Y" or fight_confirmation == "y":
total = float(trl_atk_pwr) * float(trl_cls_wpn_dmg)
你得到这个是因为现在你得到 trl_cls_wpn_dmg 作为一个字符串,当你将它乘以一个数字时它会进行连接。
推荐阅读
- apache-spark - Getting error while connecting kerberos secured phoenix from Spark
- css - How do I find out what CSS is determining the dimensions of my React header component?
- github - 如何从 Github 存储库中传输文件?
- python - How to extract Email, Telephone, Fax number and Address from many different html links by writing a python script?
- kubernetes - mount fuse filesystem inside kubernetes pod
- python - 类型为“NoneType”的 /signup 对象的 TypeError 没有 len()
- sql - 如何使用列值作为间隔来增加 Oracle SQL 中的日期?
- angular - 断言错误:传入的类型不是 ComponentType,它没有 'ɵcmp' 属性
- r - 基于列分组
- spring - 在 Spring App 中存储不经常更改的信息