Python 3.x 我正在尝试创建一个程序来计算健身房会员的税费,但有一个错误我无法修复 这是我创建的代码,下面的错误是Python3抛出的,破折号/应该用来除以数字 回溯(最近一次呼叫最后一次): 文件“D:/D/python/tax.py”,第16行,在 税() 文件“D:/D/python/tax.py”,第8行,在tax中 成本=月*100*100/税 TypeError:/:“str”和“function”的操作数类型不受支持
您的代码存在一些问题,可以通过以下几点进行总结:Python 3.x 我正在尝试创建一个程序来计算健身房会员的税费,但有一个错误我无法修复 这是我创建的代码,下面的错误是Python3抛出的,破折号/应该用来除以数字 回溯(最近一次呼叫最后一次): 文件“D:/D/python/tax.py”,第16行,在 税() 文件“D:/D/python/tax.py”,第8行,在tax中 成本=月*100*100/税 TypeError:/:“str”和“function”的操作数类型不受支持,python-3.x,Python 3.x,您的代码存在一些问题,可以通过以下几点进行总结: Traceback (most recent call last): File "D:/D/python/tax.py", line 16, in <module> tax() File "D:/D/python/tax.py", line 8, in tax cost = months * 100 * 100/tax TypeError: unsupported operand type(s) for /:
Traceback (most recent call last):
File "D:/D/python/tax.py", line 16, in <module>
tax()
File "D:/D/python/tax.py", line 8, in tax
cost = months * 100 * 100/tax
TypeError: unsupported operand type(s) for /: 'str' and 'function'
您创建了一个名为tax
的函数,然后尝试创建一个同名变量<代码>=用于检查相等性,而不是赋值,因此您从未在第二行中实际创建变量
- 不要创建与现有函数同名的变量。为了整洁起见,将函数或变量名更改为其他名称。事实上,您对每个错误都使用了相同的名称,这使得这个错误比需要的更复杂
- 使用
分配变量,而不是=
=
- 正如其他人提到的,在尝试使用输入之前,您也没有解析输入。您需要在
上调用months
,然后再尝试对其进行计算int
cost=months*100*100/tax
时,Python无法确定您想要哪一个
def tax():
tax == 10
...
第8行应为:
def calculate_tax():
tax = 10
membership = {'social' , 'sport'}
membership = input("please enter the type of membership")
months = input("please enter number of months overdue")
if membership == 'sport':
cost = int(months) * 100 * 100/tax
print ("the penalty is £",cost)
elif membership == 'social':
cost = int(months) * 25 * 100/tax
print ("the penalty is £",cost)
else:
print ("there is not penalty")
现在,您正在尝试将字符串相乘。您需要在这两个位置更改公式
编辑:另外,我不确定你的目的是为了这个公式,但现在它将是m乘以
月
乘以100两次,然后除以税
谢谢你,我没有意识到这会发生,因为我认为python在计算感谢时是从右向左读取的。没问题。我只想提一下,上面的答案是错误的,关于在函数中命名一个与函数相同的变量。例如:def sum(x):sum=x+2打印(sum)
sum(8)
打印10
,无错误。tax
变量的唯一问题是它需要被赋值tax=10
。谢谢你,这非常有帮助,我不知道会发生这个错误,因为这有助于我的理解,请原谅我的业余想法,因为我正在为GCSE学习python,还没有真正掌握python是的,我很乐意帮忙,@ThePythonAmateur。我遇到了一个问题,因为它是价格。我希望它打印两个小数位来显示价格,但它目前只显示一个小数位
def tax():
tax == 10
...
cost = int(months) * 100 * 100/tax