Python 逐个打印字典的值

Python 逐个打印字典的值,python,dictionary,Python,Dictionary,我正在编写一个必须在字典中“循环”的函数。字典的内容包含4个问题,我想逐一询问我的用户。 从第一个问题开始,我想问我字典里所有的问题。当所有问题都被问到时,我希望我的函数停止。我试图寻找我正在寻找的答案,但不幸的是没有任何结果。。 我还创建了一个图表,解释了我要编写的算法。请参阅下面的链接: 我拥有的代码: import random from time import sleep def vragenLijst(): vragen_list = open("question

我正在编写一个必须在字典中“循环”的函数。字典的内容包含4个问题,我想逐一询问我的用户。 从第一个问题开始,我想问我字典里所有的问题。当所有问题都被问到时,我希望我的函数停止。我试图寻找我正在寻找的答案,但不幸的是没有任何结果。。 我还创建了一个图表,解释了我要编写的算法。请参阅下面的链接:

我拥有的代码:

import random
from time import sleep

def vragenLijst():
    vragen_list = open("questions.txt").readlines()
    return vragen_list
 

def stel_vraag(vragen_list):
    vragen_IAT = {
        "vraag_1" : str(vragen_list[0]),
        "vraag_2" : str(vragen_list[1]),
        "vraag_3" : str(vragen_list[2]),
        "vraag_4" : str(vragen_list[3])
    }
    vragen_FICT = {
        "vraag_5" : vragen_list[4],
        "vraag_6" : vragen_list[5],
        "vraag_7" : vragen_list[6],
        "vraag_8" : vragen_list[7]
    }
    vragen_SE = {
        "vraag_9" : vragen_list[8],
        "vraag_10" : vragen_list[9],
        "vraag_11" : vragen_list[10],
        "vraag_12" : vragen_list[11]
    }
    vragen_BDAM = {
        "vraag_13" : vragen_list[12],
        "vraag_14" : vragen_list[13],
        "vraag_15" : vragen_list[14],
        "vraag_16" : vragen_list[15]
    }

    counter_IAT = 0
    print("Hier komen de eerste vragen: ")
    sleep (2.0)

    print()
    while vragen_IAT:
        antwoord = input(vragen_IAT + "Y/N: ")
        for vragen in vragen_IAT:
            if antwoord == "y" or antwoord == "Y":
                counter_IAT = counter_IAT + 1
                print(counter_IAT)

            elif antwoord == "n" or antwoord == "N":
                counter_IAT = counter_IAT
                print(counter_IAT)
                
            else: 
                print("Dit heb ik niet begrepen.. Vul [Y]es of [N]o in: ")
                if antwoord != "y" or antwoord != "Y":
                    continue

    
    # while vragen_FICT:



    # while vragen_SE: 


    # while vragen_BDAM:

    

def main():
    vragen = vragenLijst()
    stel_vraag(vragen)
    
if __name__ == "__main__":
    main() 


我是新来的,我希望我对你们的问题解释得足够好!所有的帮助将不胜感激

我不能复制你的全部代码,但给你一个背景。假设
myDict
是您问题的字典,这样您就可以迭代问题的关键点,并使用
if
进行验证,如下所示:

for question in myDict.keys():
  myAnswer = input(question)
  if myAnswer # Continue validation

我不能复制你的全部代码,但给你一个背景。假设
myDict
是您问题的字典,这样您就可以迭代问题的关键点,并使用
if
进行验证,如下所示:

for question in myDict.keys():
  myAnswer = input(question)
  if myAnswer # Continue validation

我认为这将满足您的要求:

questions = {'alpha? ': 'y', 'beta? ': 'n'}

for q,a in questions.items():
    while input(q).lower() != a:
        print("WRONG!")

我认为这将满足您的要求:

questions = {'alpha? ': 'y', 'beta? ': 'n'}

for q,a in questions.items():
    while input(q).lower() != a:
        print("WRONG!")

听起来像个XY问题。您的
vragen\u列表已经是一个包含所有问题的列表。在向用户显示它们之前将它们放入词典有什么好处?你可以按索引对它们进行分组(IAT=[0,1,2,3];FICT=[4,5,6,7]…)这里使用一系列问题似乎比使用字典更合理,除非这是一个要求。听起来像是XY问题。您的
vragen\u列表已经是一个包含所有问题的列表。在向用户显示它们之前将它们放入词典有什么好处?你可以按索引对它们进行分组(IAT=[0,1,2,3];FICT=[4,5,6,7]…)这里使用一系列问题似乎比使用字典更合理,除非这是一项要求。嘿,伙计!我用了你的解释,它对我有用!我现在只需要研究如何在4个问题之后停止!谢谢你嘿,伙计!我用了你的解释,它对我有用!我现在只需要研究如何在4个问题之后停止!谢谢嘿,谢谢你的评论!我使用了for循环,然后是if语句和我自己的验证。嘿,谢谢你的评论!我使用了for循环,然后使用if语句和我自己的验证。