我如何解决" ValueError:解包的数量太多(预期2)"在Python中

时间:2016-12-31 12:06:53

标签: python

我的代码:

print("Welcome to the Apple troubleshooting program")
query = input("Please type your problem and make sure all words are spelled correctly")
problems = (('My phone does not turn on.',
             {'power', 'turn', 'on', 'off'},
             ('Make sure the phone is fully charged.',
              'Try hard-resetting the phone.',
              'Buy a new battery and get it fitted by a professional.')),
            ('My phone is freezing.',
             {'freeze', 'freezing'},
             ('Clear the cache.',
              'Free up memory by deleting unwanted apps and media.',
              'If all fails, contact a professional.')),
            ('The screen is cracked.',
             {'cracked', 'crack', 'broke', 'broken', 'screen'},
             ('Contact your insurance company.',
              'Purchase a new screen.',
              'Get the screen fitted by a professional.')),
            ('I dropped my phone in water.',
             {'water', 'drop', 'dropped'},
             ('Buy a bag of rice big enough to house your phone.',
              'Submerged the phone in the rice for 24-48 hours.',
              'Take your phone out of the rice and it should have absorbed the moisture.')))


words = {''.join(filter(str.isalpha, word))
             for word in query.lower().split()}
for problem, keywords in problems:
        if words & keywords:
            solution = input('Is this what the problem is?', problems)
        else:
            print("Sorry, I do not understand")
        if solution == "yes":
                            print('Please follow these steps to fix your phone:')
for number, step in enumerate(steps, 1):

print('{}. {}'.format(number, step))

1 个答案:

答案 0 :(得分:1)

problems列表中的每个项目都包含3个项目,因此您的for循环需要解压缩3个值:

for problem, keywords, solutions in problems:
    ...