我将如何随机解决此游戏的问题



对于家庭作业,我正在尝试制作一个在每个状态的首都询问用户的游戏,就像抽认卡游戏一样。我已经满足了该程序的所有要求,除了他们希望问题是随机顺序的。我该如何洗牌词典?我知道如何将列表删除,而不是词典,因为我认为它们已经应该是随机顺序的。但是我以相同顺序收到问题,我键入键/值(按状态按字母顺序排列)

    flashcards = {'ALABAMA': 'MONTGOMERY',
              'ALASKA': 'JENEAU',
              'ARIZONA': 'PHOENIX',
              'ARKANSAS': 'LITTLE ROCK',
              'CALIFORNIA': 'SACRAMENTO',
              'COLORADO': 'DENVER',
              'CONNECTICUT': 'HARTFORD',
              'DELAWARE': 'DOVER',
              'FLORIDA': 'TALLAHASSEE',
              'GEORGIA': 'ATLANTA',
              'HAWAII': 'HONOLULU',
              'IDAHO': 'BOISE',
              'ILLINOIS': 'SPRINGFIELD',
              'INDANA': 'INDIANAPOLIS',
              'IOWA': 'DES MOINES',
              'KANSAS': 'TOPEKA',
              'KENTUCKY': 'FRANKFORT',
              'LOUISIANA': 'BATON ROUGE',
              'MAINE': 'AUGUSTA',
              'MARYLAND': 'ANNAPOLIS',
              'MASSACHUSETTS': 'BOSTON',
              'MICHIGAN': 'LANSING',
              'MINNESOTA': 'ST. PAUL',
              'MISSISSIPPI': 'JACKSON',
              'MISSOURI': 'JEFFERSON CITY',
              'MONTANA': 'HELENA',
              'NEBRASKA': 'LINCOLN',
              'NAVADA': 'CARSON CITY',
              'NEW HAMPSHIRE': 'CONCORD',
              'NEW JERSEY': 'TRENTON',
              'NEW MEXICO': 'SANTA FE',
              'NEW YORK': 'ALBANY',
              'NORTH CAROLINA': 'RALEIGH',
              'NORTH DAKOTA': 'BISMARCK',
              'OHIO': 'COLUMBUS',
              'OKLAHOMA': 'OKLAHOMA CITY',
              'OREGON': 'SALEM',
              'PENNSYLVANIA': 'HARRISBURG',
              'RHODE ISLAND': 'PROVIDENCE',
              'SOUTH CAROLINA': 'COLUMBIA',
              'SOUTH DAKOTA': 'PIERRE',
              'TENNESSEE': 'NASHVILLE',
              'TEXAS': 'AUSTIN',
              'UTAH': 'SALT LAKE CITY',
              'VERMONT': 'MONTPELIER',
              'VIRGINIA': 'RICHMOND',
              'WASHINTON': 'OLYMPIA',
              'WEST VIRGINIA': 'CHARLESTON',
              'WISCONSIN': 'MADISON',
              'WYOMING': 'CHEYENNE'}

def main():
    incorrect = 0
    correct = 0
    print('Let's play the State's game!!')
    for b in flashcards.keys():
        question = input('What is the capital of ' + b +'? : ')
        if question.upper() == flashcards[b].upper():
            correct += 1
            print('correct!!')
            print('Correct: ', correct)
            print('Incorrect: ', incorrect)
        else:
            incorrect += 1
            print('oops! that is incorrect')
            print('Correct: ', correct)
            print('Incorrect: ', incorrect)

main()

使用 random.shuffle

from random import shuffle
states = flashcards.keys()
shuffle(states)
for state in states:
    print 'State: {}, Capital: {}'.format(state, flashcards[state])

最新更新