Python 3.x 类型错误:Can';t转换为';浮动';对象隐式地/隐式地创建str列表

Python 3.x 类型错误:Can';t转换为';浮动';对象隐式地/隐式地创建str列表,python-3.x,Python 3.x,我在将浮点变量合并到打印字符串时遇到问题。我对编码非常陌生,我需要帮助解决这个问题 我试着在我知道的任何地方转换,并在这里停留了一段时间 ''' 这项任务分为三个部分。 第1节-用户输入 第2节-循环浏览购物清单 第3节-向控制台提供输出 ''' #任务:创建空数据结构 grocery_item = {} grocery_history = [] #用于检查while循环条件是否满足的变量 stop = True while stop == True: 接受购买的杂货项目名称的输入。

我在将浮点变量合并到打印字符串时遇到问题。我对编码非常陌生,我需要帮助解决这个问题

我试着在我知道的任何地方转换,并在这里停留了一段时间

''' 这项任务分为三个部分。 第1节-用户输入 第2节-循环浏览购物清单 第3节-向控制台提供输出 '''

#任务:创建空数据结构

grocery_item = {}

grocery_history = []
#用于检查while循环条件是否满足的变量

stop = True 

while stop == True:
接受购买的杂货项目名称的输入。 项目名称=输入('项目名称:\n'

接受购买的食品杂货数量的输入。 数量=输入('购买的数量:\n')

接受杂货项目成本输入(这是每项成本)。 使用更新功能创建包含用户输入的名称、编号和价格的词典条目。 使用append函数将杂货店项目添加到杂货店历史记录列表中 接受用户的输入,询问他们是否已完成输入杂货项目。 定义用于保存名为“总计”的总计的变量 定义“for”循环。 计算杂货店商品的总成本。 将项目总金额添加到总金额中 输出与此匹配的杂货项目的信息 2苹果@每台1.49美元2.98美元 将项目总数设置为0 打印总数 我只是一遍又一遍地犯这个错误 TypeError:无法将“float”对象隐式转换为str

grocery_item = {}
grocery_history = []
stop = True 

while stop == True:
    item_name = input('Item name:\n')
    quantity = input('Quantity purchased:\n')
    cost = input('Price per item:\n')
    grocery_item = {'name' : item_name, 'number' : int(quantity), 'price' : float(cost)}
    grocery_history.append(grocery_item)
    choice = input("Would you like to enter another item?\nType 'c' for continue or 'q' for quit:\n")
    if choice == 'c':
        stop = True
    else:
        stop = False
    grand_total = 0
    for i in grocery_history:
        item_total = grocery_item['number'] * grocery_item['price']
        grand_total += item_total
        print(str(grocery_item['number']) + grocery_item['name'] + " @ " + str(grocery_item['price']) + " ea "+ str(item_total))
        item_total = 0
        print(grand_total)
输出为:

Item name:
apple
Quantity purchased:
2
Price per item:
1.49
Would you like to enter another item?
Type 'c' for continue or 'q' for quit:
q
2apple @ 1.49 ea 2.98
2.98

请尝试修复您的代码。我尝试调整了格式,但缺少了大括号和其他内容。请使用trace发布确切的错误。看起来
item\u total
是一个数字,需要在调用
str
时包装。
grocery_history.append(grocery_item)
choice = input("Would you like to enter another item?\nType 'c' for continue or 'q' for quit:\n")
if choice == 'c':
  stop = True
else:
  stop = False
 grand_total = 0
for i in grocery_history:
item_total = grocery_item['number'] * grocery_item['price']
grand_total += item_total
print(str(grocery_item['number']) + grocery_item['name'] + " @ " + str(grocery_item['price']) + " ea "+ item_total)
item_total = 0
print(grand_total)
grocery_item = {}
grocery_history = []
stop = True 

while stop == True:
    item_name = input('Item name:\n')
    quantity = input('Quantity purchased:\n')
    cost = input('Price per item:\n')
    grocery_item = {'name' : item_name, 'number' : int(quantity), 'price' : float(cost)}
    grocery_history.append(grocery_item)
    choice = input("Would you like to enter another item?\nType 'c' for continue or 'q' for quit:\n")
    if choice == 'c':
        stop = True
    else:
        stop = False
    grand_total = 0
    for i in grocery_history:
        item_total = grocery_item['number'] * grocery_item['price']
        grand_total += item_total
        print(str(grocery_item['number']) + grocery_item['name'] + " @ " + str(grocery_item['price']) + " ea "+ str(item_total))
        item_total = 0
        print(grand_total)
Item name:
apple
Quantity purchased:
2
Price per item:
1.49
Would you like to enter another item?
Type 'c' for continue or 'q' for quit:
q
2apple @ 1.49 ea 2.98
2.98