Dictionary 总词汇量不断增加的词典

Dictionary 总词汇量不断增加的词典,dictionary,python-3.x,Dictionary,Python 3.x,这是我正在做的家庭作业 我有一个.txt文件,看起来像这样 11 eggs 1.17 milk 3.54 bread 1.50 coffee 3.57 sugar 1.07 flour 1.37 apple .33 cheese 4.43 orange .37 bananas .53 potato .19 我想做的是保持一个连续的总数,当你输入“鸡蛋”这个词,然后输入“面包”这个词时,它需要将两者的成本相加,并一直持续到“退出”,我也会遇到一个“关键错误”,需要帮助 def main():

这是我正在做的家庭作业

我有一个.txt文件,看起来像这样

11
eggs
1.17
milk
3.54
bread
1.50
coffee
3.57
sugar
1.07
flour
1.37
apple
.33
cheese
4.43
orange
.37
bananas
.53
potato
.19
我想做的是保持一个连续的总数,当你输入“鸡蛋”这个词,然后输入“面包”这个词时,它需要将两者的成本相加,并一直持续到“退出”,我也会遇到一个“关键错误”,需要帮助

  def main():
    key = ''
    infile = open('shoppinglist.txt', 'r')
    total = 0
    count = infile.readline()
    grocery = ''
    groceries = {}


    print('This program keeps a running total of your shopping list.')
    print('Use \'EXIT\' to exit.')


    while grocery != 'EXIT':

        grocery = input('Enter an item: ')

        for line in infile:
            line = line.strip()
            if key == '':
                key = line

            else:
                groceries[key] = line
                key = ''

        print ('Your current total is $'+ groceries[grocery])

main()

文件是否包含每种不同食品的价格

用户
input
语句的末尾也应该有一个
.strip()
,因为有时可以从用户输入中包括行尾字符

您应该只需要读取文件一次,而不需要在循环中读取

当用户输入杂货项目时,如您所说,应检查其是否存在:

if grocery in groceries:
    ...
else:
    #grocery name not recognised
我认为你应该有一本单独的字典来存储每个杂货店的计数,比如:

然后,任何杂货店都可以这样要求
quantitiesWanted['eggs']
,默认情况下返回
0
。做一些类似于
quantitiesWanted['eggs']+=1
的操作会将其增加到
1
,依此类推

要获取当前总数,您可以执行以下操作:

total = 0
for key, value in quantitiesWanted:
    total += groceries[key] * value

文件是否包含每种不同食品的价格

用户
input
语句的末尾也应该有一个
.strip()
,因为有时可以从用户输入中包括行尾字符

您应该只需要读取文件一次,而不需要在循环中读取

当用户输入杂货项目时,如您所说,应检查其是否存在:

if grocery in groceries:
    ...
else:
    #grocery name not recognised
我认为你应该有一本单独的字典来存储每个杂货店的计数,比如:

然后,任何杂货店都可以这样要求
quantitiesWanted['eggs']
,默认情况下返回
0
。做一些类似于
quantitiesWanted['eggs']+=1
的操作会将其增加到
1
,依此类推

要获取当前总数,您可以执行以下操作:

total = 0
for key, value in quantitiesWanted:
    total += groceries[key] * value