Я работаю над проектом fun-project, с которым я буду выполнять некоторые вычисления, и мне нужна помощь.Выбор части строки для вычислений (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 и использовать их в качестве отдельных переменных для отдельных вычислений.
До сих пор:
def ARK(rawArk):
refArk = float(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
strval = str(refArk)
head,tail = strval.split(".")
whole = float(head)
frac = float("."+tail)
print whole
print frac
return arkTrit, arkMeg, arkZyd
def main():
rawArk=input("How much Arkonor?")
ARK(rawArk)
return
main()
ИСПОЛЬЗОВАНИЕ '450', как мой входного значения
возвращает
How much Arkonor?450
Totals from your Arkonor:
Tritanium= 600.0
Megacyte= 666.0
Zydrine= 332.0
2.0
0.0
2.0 является правильным, но 0.0 должно быть 0,25
Удаление float() из «rawArk/200» выплевывает ошибку:
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
http://docs.python.org/library/functions.html#divmod – tMC