Python语法错误-投币机问题

问题描述

我知道这些是非常基本的问题,但无法弄清楚我在做什么错。我才刚刚开始学习python,并且不明白为什么每次尝试减去某些东西时都会遇到语法错误

当我尝试运行此代码时:

```#def variables - input cash entered and item price in float parentheses
cash = float(400)
price = float(215)

#change calculation

def cash_owed(cash - price)```

我得到一个

SyntaxError:语法无效,^指向-符号。

我找不到有关为何在这种情况下使用减号会返回语法错误的任何信息。我在做什么错了?

我正在尝试创建一个硬币机程序,在其中以代表美分的整数形式输入现金(即$ 5 = 500),以最方便的硬币面额返回所需的找零。这是我编写的其余代码,但我什至无法克服第一个语法错误

cash = float(400)
price = float(215)

#change calculation

def cash_owed(cash - price)

c = cash_owed

#display amount recieved,cost of item,required change
print ("Amount recieved : " + str(cash)) \n
print ("Cost of item : " + str(float)) \n
print("required change : " + str(c)) \n

#calculate toonies owed
def calculate_toonies(c//200)
round(calculate_toonies)

print("Toonies x " + str(calculate_toonies))

c = c%200

#calculate loonies owed
def calculate_loonies(c//100)
round(calculate_loonies)

print("Loonies x " + str(calculate_loonies))

c = c%100

#calculate quarters owed
def calculate_quarters(c//25)
round(calculate_quarters)

print("Quarters x " + str(calculate_quarters))

c = c%25

#calculate dimes owed
def calculate_dimes(c//10)
round(calculate_dimes)

print("Dimes x " + str(calculate_dimes))

c = c%10

#calculate nickles owed
def calculate_nickles(c//5)
round(calculate_nickles)

print("Nickles x " + str(calculate_nickles))

c = c%5```

解决方法

您的函数定义错误。该参数无法执行操作,并且应包含冒号。

更改

def cash_owed(cash - price)

收件人

def cash_owed(cash,price):
  new_price = cash - price
,

您必须在函数后加一个冒号 您可以尝试以下方法:

def cash_owed(cash,price):
    return(cash - price)