选择字符串的一部分进行计算(python)

2024-05-23 17:10:12 发布

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

我正在做一个有趣的项目,我会做一些计算,我需要一些帮助。在

我的课程中有一个模块:

def ARK(rawArk):
    refArk = rawArk/200
    arkTrit = refArk*300
    arkMeg = refArk*333
    arkZyd = refArk*166
    print "Totals from your Arkonor:"
    print "Tritanium=", arkTrit
    print "Megacyte=", arkMeg
    print "Zydrine=", arkZyd
    return arkTrit, arkMeg, arkZyd

现在它只是做简单的除法和乘法。我想做的是能用余物来做这个。在

因此,如果'refArk=rawArk/200'给出的总数是16.3,我希望能够将16.0和0.3分开,并将它们作为单独的变量用于单独的计算。在

目前为止:

^{pr2}$

使用'450'作为输入值

退货

^{3}$

2.0是对的,但0.0应该是0.25

从“rawArk/200”中删除float()会显示一个错误:

How much Arkonor?450
Totals from your Arkonor:
Tritanium= 600
Megacyte= 666
Zydrine= 332

Traceback (most recent call last):
  File "E:\eve stuff\Calculator\test.py", line 23, in <module>
    main()
  File "E:\eve stuff\Calculator\test.py", line 20, in main
    ARK(rawArk)
  File "E:\eve stuff\Calculator\test.py", line 11, in ARK
    head,tail = strval.split(".")
ValueError: need more than 1 value to unpack

Tags: pytestlineevecalculatorfileprintark
3条回答

为什么不直接做:

intpart=int(variable)
decimalpart=variable-intpart

我想猜测这比转换成一个字符串然后拆分更有效。在

数字

val1 = 22.0
val2 = 7.0
whole,frac = divmod(val1,val2)
frac = frac/val1

有点像黑客,但有弦

^{pr2}$

不管怎样

>>> frac
0.14285714286000001
>>> whole
3.0

可以先使用圆函数,然后使用拆分

refArk = refArk.split(".")

相关问题 更多 >