繁体   English   中英

对于字典中的循环

[英]For loops in Dictionaries

我正在尝试在字典中使用for循环来表示未知的语句,这些语句可能需要在字典中(基于陈述类时的指定数量)。 我想知道如果根本没有什么语法。

今天早些时候,一个朋友让我做一个“选择你自己的冒险”游戏

  • 我想要一个随机页面作为死亡页面。

  • 其余页面是故事/问题页面。

  • 我还想拥有一个字典,当我输入页码时,它返回的是页面的类型。

我试图使用for语句来获取该类调用的页码。 这些页面是随机的,因此我无法知道。

from time import sleep
from random import randint

def ClearSys():
  for i in range(0,100):
    print("\n")
class Book:
  def __init__(self,name,pages):

    #self.DeathPage#
    RandomPage=randint(2,pages)
    self.DeathPage=RandomPage
    del RandomPage

    #self.pages#
    self.pages=["Introduction Page"]
    for i in range(2,pages):
      if not i==self.DeathPage:
        self.pages.append("QuestionPage")
      else:
        self.pages.append("DeathPage")



    ####MAIN SECTION I WOULD LIKE TO HIGHLIGHT####
    ##Page number dictionary##
    self.PageNumberToType={
      0:"Introduction Page",
      for i in range(1,len(self.pages)):
        i:self.pages[i]
    }
    ########

我并不是真的希望这能奏效,但我只是将其写出来以查看是否可行。

我所不知道的; 但是为什么它必须在字典文字中?

self.PageNumberToType = { 0:"Introduction Page" }

for i in range(1, len(self.pages)):
    self.PageNumberToType[i] = self.pages[i]

因为顺序对于字典而言并不重要,所以您也可以进行字典理解:

self.PageNumberToType = {i: self.pages[i]
                         for i in range(1, len(self.pages[i]))}

self.PageNumberToType.update({0: 'Introduction Page'})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM