Python 如何合并价格查询器? print('您计划购买多少项?') times=int(输入('>>')) 问题(次): 杂货店清单={} 打印('输入杂货项目和价格') 对于范围内的i(次): key=input('项目%d名称:'%int(i+1)) 值=输入('项目%d价格:$'%int(i+1)) 打印 清单[键]=值 打印(杂货店清单) 问题(次) 打印(“”)
在我为购物清单编写的代码中,有一个问题。。。我找不到一种方法把所有的项目都纳入清单的价格中。我想计算清单上所有商品价格的总和。有什么帮助吗?这完全把我弄糊涂了,我不想为每一项都设置一个单独的变量。谢谢。是否要计算列表中所有商品价格的总和?然后在Python 如何合并价格查询器? print('您计划购买多少项?') times=int(输入('>>')) 问题(次): 杂货店清单={} 打印('输入杂货项目和价格') 对于范围内的i(次): key=input('项目%d名称:'%int(i+1)) 值=输入('项目%d价格:$'%int(i+1)) 打印 清单[键]=值 打印(杂货店清单) 问题(次) 打印(“”),python,python-3.x,Python,Python 3.x,在我为购物清单编写的代码中,有一个问题。。。我找不到一种方法把所有的项目都纳入清单的价格中。我想计算清单上所有商品价格的总和。有什么帮助吗?这完全把我弄糊涂了,我不想为每一项都设置一个单独的变量。谢谢。是否要计算列表中所有商品价格的总和?然后在问题函数的循环后添加这两行应该可以工作: print('How many items are you planning to buy?') times = int(input('>> ')) def question(times): groc
问题
函数的循环后添加这两行应该可以工作:
print('How many items are you planning to buy?')
times = int(input('>> '))
def question(times):
grocery_list = {}
print('Enter grocery item and price.')
for i in range(times):
key = input('Item %d Name: ' % int(i+1))
value = input('Item %d Price: $' % int(i+1))
print
grocery_list[key] = value
print(grocery_list)
question(times)
print('< >')
或作为完整的重新格式化代码:
totalPrice = sum([float(grocery_list[item]) for item in grocery_list])
print('Total: ${:.2f}'.format(totalPrice))
输入/输出如下所示:
def inputGroceries():
groceries = list()
while True:
try:
i = len(groceries)
name = input('Item #{} name: '.format(i))
if name == '':
break
price = float(input('Item #{} price: $'.format(i)))
quantity = int(input('Item #{} quantity: '.format(i)))
except ValueError:
print('Error: invalid input..')
continue
groceries.append((name, price, quantity))
return groceries
print("Enter items, price and quantity (end list by entering empty name):")
groceries = inputGroceries()
for item in groceries:
print('{} x {} (${:.2f} PP)'.format(item[2], item[0], item[1]))
totalPrice = sum([item[1] * item[2] for item in groceries])
print(30*'-')
print('Total: ${:>22.2f}'.format(totalPrice))
是否要计算列表中所有项目价格的总和?然后在
问题
函数的循环后添加这两行应该可以工作:
print('How many items are you planning to buy?')
times = int(input('>> '))
def question(times):
grocery_list = {}
print('Enter grocery item and price.')
for i in range(times):
key = input('Item %d Name: ' % int(i+1))
value = input('Item %d Price: $' % int(i+1))
print
grocery_list[key] = value
print(grocery_list)
question(times)
print('< >')
或作为完整的重新格式化代码:
totalPrice = sum([float(grocery_list[item]) for item in grocery_list])
print('Total: ${:.2f}'.format(totalPrice))
输入/输出如下所示:
def inputGroceries():
groceries = list()
while True:
try:
i = len(groceries)
name = input('Item #{} name: '.format(i))
if name == '':
break
price = float(input('Item #{} price: $'.format(i)))
quantity = int(input('Item #{} quantity: '.format(i)))
except ValueError:
print('Error: invalid input..')
continue
groceries.append((name, price, quantity))
return groceries
print("Enter items, price and quantity (end list by entering empty name):")
groceries = inputGroceries()
for item in groceries:
print('{} x {} (${:.2f} PP)'.format(item[2], item[0], item[1]))
totalPrice = sum([item[1] * item[2] for item in groceries])
print(30*'-')
print('Total: ${:>22.2f}'.format(totalPrice))
谢谢你的提问。“我找不到一种方法将所有项目都纳入清单的价格。”-你能澄清这个问题吗?你能举个简单的例子,从编程的角度来阐述这个问题吗?例如,如何使用键和值迭代dict。问题非常不清楚,请阅读堆栈溢出指南如何提问并提供答案。谢谢您的提问。“我找不到一种方法将所有项目都纳入清单的价格。”-你能澄清这个问题吗?你能举个简单的例子,从编程的角度来阐述这个问题吗?例如,如何使用键和值迭代dict。问题非常不清楚,请阅读堆栈溢出指南如何提问并提供答案。如果同一项输入多次,则此操作无效。如果可能,您可以创建其他可能的替代方案吗?我刚刚来到这里,我正在学习,也很好奇。你说得对,当使用字典作为购物清单的容器,并使用商品名称作为键时,这是一个问题。我从给定的代码中获取。若要修复此问题,可以使用列表,并每次追加一个新项目。@user13259935:更新包含一个使用列表的替代实现,还允许输入每个项目的数量。多次输入同一项目或使用数字现在都应该是可能的。如果多次输入同一项目,则这不起作用。如果可能,您可以创建其他可能的替代方案吗?我刚刚来到这里,我正在学习,也很好奇。你说得对,当使用字典作为购物清单的容器,并使用商品名称作为键时,这是一个问题。我从给定的代码中获取。若要修复此问题,可以使用列表,并每次追加一个新项目。@user13259935:更新包含一个使用列表的替代实现,还允许输入每个项目的数量。多次使用同一个项目或使用一个数字现在都是可能的。