Python M=L[i(1+;i)k]/[(1+;i)k-1]语法错误:无效语法

Python M=L[i(1+;i)k]/[(1+;i)k-1]语法错误:无效语法,python,python-2.7,Python,Python 2.7,贷款计算器 M = 0 L = raw_input("What is the loan amount you took? ") i = raw_input("What is the interest for the loan amount? ") k = raw_input("No of payments or years you are considering for this loan? ") M = L[i(1+i)k] / [(1+i)k-1] print("Your mont

贷款计算器

M = 0

L = raw_input("What is the loan amount you took? ")

i = raw_input("What is the interest for the loan amount? ")

k = raw_input("No of payments or years you are considering for this loan? ")

M = L[i(1+i)k] / [(1+i)k-1]

print("Your monthly payment is %f" %M) 
错误:

M = L[i(1+i)k] / [(1+i)k-1]
            ^
SyntaxError: invalid syntax

无论您的输入是字符串还是数字,对于python中的乘法,您必须指定值之间的
*

如果希望输入仅为数字,则应使用
input()
,或者将
raw\u input()
转换为int作为
int(raw\u input())

您在上没有得到错误的原因

L[i(1+i)k] / [(1+i)k-1]  
   ^

是因为Python认为<代码> i(1 +i)< /代码>是函数调用。

我认为它应该是这样的。尽管我很困惑,如果你想让k先减后乘:

M = (L * (i * (1+i) * k)) / ((i+1) * (k-1))
或要递减的分母:

M = (L * (i * (1+i) * k)) / ((i+1) * k) -1)

此外,您不需要声明M=0,因为它没有任何用处。

您将得到一个
SyntaxError
,因为您的语法完全没有意义。你到底希望
i(1+i)k
做什么?!如果你想要一个乘法运算,你需要明确说明:
i*(i+1)*k
。另外,请注意,您的输入是字符串,而不是数字,并且在Python中不能互换使用不同类型的括号(
[]
用于列表/订阅,
()
用于元组/调用)。我强烈建议您在尝试用Python编写代码之前,尝试实际学习Python的语法。谢谢您的帮助。我知道我是新生。是的,完全明白。谢谢