创建一个词汇游戏

问题描述

我对python完全陌生。我一直在创建一个词汇程序,但是我想将单词混在一起,所以后面的单词也要混在一起。到目前为止,它一直只向:前面的那些扔。我该如何实现?

print()
print('Welcome to german vocabulary quiz!')


import random

answer = input('Ready?  ')
¨
print('')

while answer=='y' or 'yes':
    vocabDictionary={
        'e Arbeit':'pracovat','oder':'nebo','r Abend':'večer','als':'jako','bitten':'prosit','buchstabieren':'hláskovat','wessen':'čí','r Koffer':'kufr','wer':'kdo','wem':'komu','wen':'koho','sehen':'vidět','e tochter':'dcera','gruSen':'zdravit','warten':'čekat','sagen':'říkat','e Lehrerin':'učitelka','r Lehrer':'učitel','schreiben':'napsat','zeigen':'ukázat','stehen':'stát','suchen':'hledat','fahren':'jet','abfahren':'odjet','kommen':'přijít','hier'and'da':'tady','s Buch':'kniha','r Zug':'vlak','offnen':'otevřít','schlieSen':'zavřít','ab/biegen':'odbočit','e Ampel':'semafor','denn':'pak'and'potom','dorthin':'tam','až'and'dokud':'bis','zu':'k'and'ke','druben'and'gegenuber':'naproti','fremd':'cizí','r FuSganger':'chodec','gerade':'právě','geradeaus':'rovně','e Halstestelle':'zastávka','r Hauptbahnhof':'hlavní nádraží','ihnen':'vám','e Kreuzung':'křižovatka','links':'vlevo','nach links':'doleva','mit':'se'or's','nach':'do'or'po','rechts':'vpravo','e StraSe':'ulice'and'silnice','uberqueren':'přejít','ungefahr':'přibližně'or'asi','von hier':'odsud','weiter':'dál','zu FuS':'pěšky','aber':'ale','alles':'všechno','e Blume':'květina','brav':'hodný','ein bisschen':'trochu','faul':'líný','fleiSig':'pilný','e Freizeit':'volný čas','r FuSball':'fotbal','gern(e)':'rád','groS':'velký','haben':'mít','horen':'poslouchat','hubsch'and'schon':'hezký'or'pěkný','jetzt':'teď'or'nyní','e Journalistin':'novinářka','s Kaninchen':'králík','lernen':'učit se','lieb':'milý','lustig':'veselý','manchmal':'někdy'or'občas','nett':'milý'or'vlídný'or'hezký','noch':'ještě','nur':'jen','oft':'často','recht':'skutečně'or'opravdu'or'velmi','sauber':'čistý','sauber machen':'uklízet','schauen':'dívat se'or'podívat se','schlank':'štíhlý','sehr':'velmi','zehn':'deset','r Spaziergang':'procházka','einen Spaziergang machen':'jít na procházku','spielen':'hrát','studieren':'studovat','s Tier':'zvíře','treiben':'zabývat se'or'provozovat','e Zeit':'čas','Sport treiben':'sportovat','verheiratet':'ženatý'or'vdaná','r Unternhehmer':'podnikatel','zu Hause':'doma','ziemlich':'pořádně'or'značně','zwanzig':'dvacet','aus':'z','dann':'potom','dich':'tebe'or'tě','dir':'ti'or'tobě','e Entschuldigung':'omluva'or'prominutí','finden':'nacházet'or'shledávat','gehen':'jít','geil':'báječný'or'skvělý'or'super','heiSen':'jmenovat se','r Herr':'pán','e Frau':'paní','r Nachname':'příjmení','leider':'bohužel','r Tag':'den','viel':'hodně'and'hodně','was':'co','wie':'jak','woher':'odkud','wohnen':'bydlet','Tschechien':'Česko'
        }
    keyword_list=list(vocabDictionary.keys())
    random.shuffle(keyword_list)
    score=0

    for keyword in keyword_list:
        display='{}'
        print(display.format(keyword))
        userInputAnswer=input(': ')
        print('')

解决方法

vocabDictionary.keys()此代码仅返回字典的键,即::p之前的单词。

要创建同时包含键和值的列表,可以使用.values()创建另一个列表,并添加两个列表

keyword_list1=list(vocabDictionary.keys())
keyword_list2= list(vocabDictionary.values())
keyword_list = keyword_list1 + keyword_list2

下面的完整代码:

print('Welcome to german vocabulary quiz!')


import random

answer = input('Ready?  ')

print('')

while answer=='y' or 'yes':
    vocabDictionary={
        'e Arbeit':'pracovat','oder':'nebo','r Abend':'večer','als':'jako','bitten':'prosit','buchstabieren':'hláskovat','wessen':'čí','r Koffer':'kufr','wer':'kdo','wem':'komu','wen':'koho','sehen':'vidět','e Tochter':'dcera','gruSen':'zdravit','warten':'čekat','sagen':'říkat','e Lehrerin':'učitelka','r Lehrer':'učitel','schreiben':'napsat','zeigen':'ukázat','stehen':'stát','suchen':'hledat','fahren':'jet','abfahren':'odjet','kommen':'přijít','hier'and'da':'tady','s Buch':'kniha','r Zug':'vlak','offnen':'otevřít','schlieSen':'zavřít','ab/biegen':'odbočit','e Ampel':'semafor','denn':'pak'and'potom','dorthin':'tam','až'and'dokud':'bis','zu':'k'and'ke','druben'and'gegenuber':'naproti','fremd':'cizí','r FuSganger':'chodec','gerade':'právě','geradeaus':'rovně','e Halstestelle':'zastávka','r Hauptbahnhof':'hlavní nádraží','ihnen':'vám','e Kreuzung':'křižovatka','links':'vlevo','nach links':'doleva','mit':'se'or's','nach':'do'or'po','rechts':'vpravo','e StraSe':'ulice'and'silnice','uberqueren':'přejít','ungefahr':'přibližně'or'asi','von hier':'odsud','weiter':'dál','zu FuS':'pěšky','aber':'ale','alles':'všechno','e Blume':'květina','brav':'hodný','ein bisschen':'trochu','faul':'líný','fleiSig':'pilný','e Freizeit':'volný čas','r FuSball':'fotbal','gern(e)':'rád','groS':'velký','haben':'mít','horen':'poslouchat','hubsch'and'schon':'hezký'or'pěkný','jetzt':'teď'or'nyní','e Journalistin':'novinářka','s Kaninchen':'králík','lernen':'učit se','lieb':'milý','lustig':'veselý','manchmal':'někdy'or'občas','nett':'milý'or'vlídný'or'hezký','noch':'ještě','nur':'jen','oft':'často','recht':'skutečně'or'opravdu'or'velmi','sauber':'čistý','sauber machen':'uklízet','schauen':'dívat se'or'podívat se','schlank':'štíhlý','sehr':'velmi','zehn':'deset','r Spaziergang':'procházka','einen Spaziergang machen':'jít na procházku','spielen':'hrát','studieren':'studovat','s Tier':'zvíře','treiben':'zabývat se'or'provozovat','e Zeit':'čas','Sport treiben':'sportovat','verheiratet':'ženatý'or'vdaná','r Unternhehmer':'podnikatel','zu Hause':'doma','ziemlich':'pořádně'or'značně','zwanzig':'dvacet','aus':'z','dann':'potom','dich':'tebe'or'tě','dir':'ti'or'tobě','e Entschuldigung':'omluva'or'prominutí','finden':'nacházet'or'shledávat','gehen':'jít','geil':'báječný'or'skvělý'or'super','heiSen':'jmenovat se','r Herr':'pán','e Frau':'paní','r Nachname':'příjmení','leider':'bohužel','r Tag':'den','viel':'hodně'and'hodně','was':'co','wie':'jak','woher':'odkud','wohnen':'bydlet','Tschechien':'Česko'
        }
    keyword_list1=list(vocabDictionary.keys())
    keyword_list2= list(vocabDictionary.values())
    keyword_list = keyword_list1 + keyword_list2
    random.shuffle(keyword_list)
    score=0

    for keyword in keyword_list:
        display='{}'
        print(display.format(keyword))
        userInputAnswer=input(': ')
        print('')
        try:
            if userInputAnswer==(vocabDictionary[keyword]):    
                score += 1
        except KeyError:
            try:
                if keyword == vocabDictionary[userInputAnswer]:
                    score +=1
            except KeyError:
                pass
        
        print(score)
,

当前,您仅从键中选择单词(因此在分列之前)。

您可以尝试以下方法:

foo <- tibble(x = rep(1:10,3),y = rnorm(30),id = rep(letters[1:3],each=10))
# subtract y from mean of y for values of y when x <= 5 by group
#E.g.,y5Means <- foo %>% group_by(id) %>% filter(x <= 5) %>% summarise(avg = mean(y)) %>% pull(avg)
foo$yAnom <- c(foo$y[foo$id == "a"] - y5Means[1],foo$y[foo$id == "b"] - y5Means[2],foo$y[foo$id == "c"] - y5Means[3])

然后,您必须根据两种情况进行区分,以找到匹配的键/值。