在python中求和订单总数

在python中求和订单总数,python,python-3.x,function,variables,Python,Python 3.x,Function,Variables,我有一个函数调用一个函数获取用户信息,然后合计订单。我已经能够让它打印项目总数,但有麻烦打印订单总数一旦用户完成。如果我使用一个函数来计算数学,然后是一个函数来获取用户输入,现在是第三个函数来循环订单流程,那么我最好修改数学函数,还是修改循环函数来获取订单总额 我尝试先添加sums=0变量,然后修改sums+=userVariable调用函数的变量,但我认为这是我的问题,因为该变量调用的是函数,而不是整数。 我的建筑功能是: #货币功能 def格式\货币(x): 货币=“${:,.2f}”。格式

我有一个函数调用一个函数获取用户信息,然后合计订单。我已经能够让它打印项目总数,但有麻烦打印订单总数一旦用户完成。如果我使用一个函数来计算数学,然后是一个函数来获取用户输入,现在是第三个函数来循环订单流程,那么我最好修改数学函数,还是修改循环函数来获取订单总额

我尝试先添加sums=0变量,然后修改sums+=userVariable调用函数的变量,但我认为这是我的问题,因为该变量调用的是函数,而不是整数。 我的建筑功能是:

#货币功能
def格式\货币(x):
货币=“${:,.2f}”。格式(x)
报税表(货币)
#数学函数
def计算费用(s、m、o、q):
smPizza=6.50
MDP=9.50
lg=11.50
肉价=3.50
蔬菜价格=1.50
费用=0
如果s==1:
费用=smPizza
elif s==2:
费用=百万美元
其他:
费用=lg披萨
如果m>1:
费用+=(m-1)*价格
如果o>1:
费用+=(o-1)*价格
费用=q*费用
退货费
#用户输入功能
def get_pizza_info():
size=int(输入(“输入比萨饼大小(1小,2中,3大):”)
numMeat=int(输入(“输入肉类配料数量:”)
nonMeat=int(输入(“输入数字或非肉类配料:”)
count=int(输入(“输入订购的比萨饼数量:”)
返回计算比萨饼费用(大小、数量、非食物、计数)
#循环订单流程
def接受客户订单():
完成=错误
总和=0
虽然没有这样做:
inval=输入(“订购比萨饼”(Y/N):”。大写()
如果无效==“Y”:
nextPizza=获取比萨饼信息()
打印(“比萨饼总额:+格式\货币(下一个比萨饼))
无效文件==“N”:
完成=正确
总和+=nextPizza
打印(“订单总额:+格式\货币(nextPizza))
预期:

 Enter pizza size (1 small, 2 medium, 3 large): 3
 Enter number meat toppings: 2
 Enter number or non-meat toppings: 3
 Enter number of pizzas ordered: 2
 Pizza Total: $36.00
 Order a pizza? (Y/N): Y
 Enter pizza size (1 small, 2 medium, 3 large): 1
 Enter number meat toppings: 1
 Enter number or non-meat toppings: 2
 Enter number of pizzas ordered: 1
 Pizza Total: $8.00
 Order a pizza? (Y/N): N
 Order Total: $44.00
实际:

Order a pizza? (Y/N): y
Enter pizza size (1 small, 2 medium, 3 large): 3
Enter number meat toppings: 2
Enter number or non-meat toppings: 2
Enter number of pizzas ordered: 2
Pizza Total: $33.00
Order Total: $33.00
Order a pizza? (Y/N): y
Enter pizza size (1 small, 2 medium, 3 large): 2
Enter number meat toppings: 1
Enter number or non-meat toppings: 2
Enter number of pizzas ordered: 2
Pizza Total: $22.00
Order Total: $22.00
Order a pizza? (Y/N): n
Order Total: $22.00
Traceback (most recent call last):
  File "C:/Users/guita/Documents/School/CSCI100/CSCI100_Lab5_P/CSCI100_Lab5_P/problem4.py", line 6, in <module>
    print("Order Total: " + lab5_functions.format_currency(total))
  File "C:\Users\guita\Documents\School\CSCI100\CSCI100_Lab5_P\CSCI100_Lab5_P\lab5_functions.py", line 7, in format_currency
    currency = '${:,.2f}'.format(x)
TypeError: unsupported format string passed to NoneType.__format__
点比萨饼?(是/否):是
输入比萨饼大小(1个小,2个中等,3个大):3
输入数字:2
输入数字或非肉类配料:2
输入订购的比萨饼数量:2
比萨饼总计:$33.00
订单总额:$33.00
要比萨饼吗?(是/否):是
输入比萨饼大小(1个小,2个中等,3个大):2
输入数字:1
输入数字或非肉类配料:2
输入订购的比萨饼数量:2
比萨饼总额:22.00美元
订单总额:$22.00
要比萨饼吗?(是/否):否
订单总额:$22.00
回溯(最近一次呼叫最后一次):
文件“C:/Users/guita/Documents/School/CSCI100/CSCI100_Lab5_P/CSCI100_Lab5_P/problem4.py”,第6行,在
打印(“订单总额:+lab5_函数。格式_货币(总额))
文件“C:\Users\guita\Documents\School\CSCI100\CSCI100\u Lab5\u P\CSCI100\u Lab5\u P\Lab5\u functions.py”,第7行,格式为货币
货币=“${:,.2f}”。格式(x)
TypeError:不支持的格式字符串传递给了NoneType.\uu格式__

举个简单的例子,用一个返回
1.0
的函数替换所有比萨饼逻辑即可。然后,您将能够轻松查看您的2个问题:

  • sums+=
    位于“N”分支而不是“Y”分支内
  • 打印订单合计的nextPizza值,而不是sums值