Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python final=P*((1+;(r/n))**(n*t)))类型错误:不支持/:'的操作数类型;str';和';int';_Python_String_Int_Typeerror - Fatal编程技术网

Python final=P*((1+;(r/n))**(n*t)))类型错误:不支持/:'的操作数类型;str';和';int';

Python final=P*((1+;(r/n))**(n*t)))类型错误:不支持/:'的操作数类型;str';和';int';,python,string,int,typeerror,Python,String,Int,Typeerror,我是Python新手(运行Python3),已经搜索了所有地方,但仍然坚持这一点。 我知道我有一个字符串,但需要将其转换为整数作为最终答案。下面是我输入的测试代码。我被我犯的错误迷住了。 这适用于复利计算器,用户必须输入本金、年利率、复利频率和年份。 我做了一些研究,发现我可以用('inf')来表示p、n和r,表示它们可以是大的数字,也可以是小的数字。基本上用户可以输入任何数字 P = 10000 n = 12 r = 0.08 p = int(input("Enter starting pr

我是Python新手(运行Python3),已经搜索了所有地方,但仍然坚持这一点。 我知道我有一个字符串,但需要将其转换为整数作为最终答案。下面是我输入的测试代码。我被我犯的错误迷住了。 这适用于复利计算器,用户必须输入本金、年利率、复利频率和年份。 我做了一些研究,发现我可以用('inf')来表示p、n和r,表示它们可以是大的数字,也可以是小的数字。基本上用户可以输入任何数字

P = 10000
n = 12
r = 0.08

p = int(input("Enter starting principle please. "))
n = int(input("Enter Compound intrest rate.(daily, monthly, quarterly, half-year, yearly) "))
r = input("Enter annual interest amount. (decimal) ")
t = int(input("Enter the amount of years. "))

final = P * (((1 + (r/n)) ** (n*t)))

print ("The final amount after", p, "years is", final)
错误:

Enter starting principle please. 75000
Enter Compound intrest rate.(daily, monthly, quarterly, half-year, yearly) 12
Enter annual interest amount. (decimal) 0.03
Enter the amount of years. 15
Traceback (most recent call last):
  File "C:\Users\Joshua\AppData\Local\Programs\Python\Python35-32\Program Five.py", line 10, in <module>
    final = P * (((1 + (r/n)) ** (n*t)))
TypeError: unsupported operand type(s) for /: 'str' and 'int'
抱歉等了。好吧,我相信我通过@Rafael Cardoso提出的“停下来思考”的建议,让它正常工作了。谢谢你

P = 10000
n = 12
r = 0.08

p = int(input("Enter starting principle please. "))
n = int(input("Enter Compound intrest rate.(daily, monthly, quarterly, half-year, yearly) "))
r = float(input("Enter annual interest amount. (decimal) "))
t = int(input("Enter the amount of years. "))

final = P * (((1 + (r/n)) ** (n*t)))

print ("The final amount after", p, "years is", final)
当我运行它时,不会弹出错误。我喘了口气后发现问题是由
('inf')
引起的,如果我把p,n,r和那里的内容放在一起,它就没有问题了


再次感谢大家

根据stacktrace,
r
是一个
str
。您应该只处理数字,因此要执行此操作,请将r转换为浮点(因为它处理十进制数字)

编辑 好吧,让我们停下来想想。当您使用python 3时,输入函数会将您输入的值存储为字符串(即文本)。你想让它们成为数字

因此,您必须将所有内容转换为数字,以便能够进行乘法、除法等运算。例如,
“a”/“b”
是什么意思?那么
“a1”/“b2”
呢?甚至是
“1”/“2”
?它们毫无意义。然而,
1/2
是有意义的。不同之处在于,我们在前3个示例中处理文本,在最后一个示例中处理数字


要使其工作,您应该将所有内容转换为
int
float
。这些
类型
是数字,你可以毫无顾虑地对它们进行数学运算。

根据stacktrace,
r
是一个
str
。您应该只处理数字,因此要执行此操作,请将r转换为浮点(因为它处理十进制数字)

编辑 好吧,让我们停下来想想。当您使用python 3时,输入函数会将您输入的值存储为字符串(即文本)。你想让它们成为数字

因此,您必须将所有内容转换为数字,以便能够进行乘法、除法等运算。例如,
“a”/“b”
是什么意思?那么
“a1”/“b2”
呢?甚至是
“1”/“2”
?它们毫无意义。然而,
1/2
是有意义的。不同之处在于,我们在前3个示例中处理文本,在最后一个示例中处理数字


要使其工作,您应该将所有内容转换为
int
float
。这些
类型
是数字,您可以放心地对它们进行数学运算。

您可以使用模块
十进制

import decimal
r = decimal.Decimal(input("Enter annual interest amount. (decimal) "))

您可以使用模块
十进制

import decimal
r = decimal.Decimal(input("Enter annual interest amount. (decimal) "))

(r/n)
其中
r
ist
str
n
是int,如果我为P、n和r输入('inf'),那么应该清除它,然后删除所有以TypeError结束的“int”:不支持的操作数类型为/:'str'和'str'
(r/n)
其中
r
ist
str
n
是int应该清除它如果我把('inf')放在P、n和r上,然后删除所有的“int”,我最后得到的类型错误是:/:'str'和'str'不支持的操作数类型我已经尝试了你的两个答案@Rafael Cardoso@worldssender。我要么得到print的语法错误,要么得到r=..的语法错误,当我使用import十进制时,它会说import是语法错误。我认为我的python在星期五运行不太愉快。@user280832我确信你的错误是非常基本的。在此发布此语法error@user280832,因为您将字符串(“后面的最终金额”)与整数p串联:不可能。执行类似于
打印的操作(“在%s年后的最终金额是%s.%(p,final))
请输入起始原则。75000输入复合利率。(日、月、季、半年、年)12输入年利息金额。(十进制)0.03输入年金额。15回溯(最近一次调用):文件“C:\Users\Joshua\AppData\Local\Programs\Python\Python35-32\Program Five.py”,最后一行=P*((1+(r/n))**(n*t)))TypeError:无法将sequence乘以'float'类型的non int。
发现语法错误,这是我糟糕的拼写。已运行脚本,但我遇到上述错误。我已尝试了您的两个答案@Rafael Cardoso@WorldSEnder。当我使用导入小数时,我要么打印时出现语法错误,要么r=…..出现语法错误我会说导入是一个语法错误。我想我的python在星期五运行不太愉快。@user280832我确信你的错误是非常基本的。在这里发布这个语法error@user280832,因为您将字符串(“之后的最终金额”)与整数p连接起来:不可能。请执行类似于
print(“在%s年之后的最终金额是%s.”的操作(p,final))
请输入起始原则。75000输入复合利率。(日、月、季、半年、年)12输入年利息金额。(十进制)0.03输入年金额。15回溯(最近一次调用):文件“C:\Users\Joshua\AppData\Local\Programs\Python\Python35-32\Program Five.py”,第10行,final=P*(((1+(r/n))**(n*t)))类型错误:无法将序列与类型为“float”的非int相乘。
发现语法错误,这是我糟糕的拼写。让脚本运行,但我得到了上面的错误。
import decimal
r = decimal.Decimal(input("Enter annual interest amount. (decimal) "))