0

1.我习惯break跳出循环,但我不知道如何让程序继续运行,除非发生这种情况。只是输入while:是无效的(或者程序告诉我),即使用户输入空字符串,我也希望游戏继续进行。

2.有没有办法不用每次我需要重新输入一些代码?我有一堆响应要程序吐出,我必须多次使用:

if action[0]=='go':
    print("You're supposed to go to David!")
elif action[0]=='look':
    print("You can't see that")
elif action[0]=='take':
    print("You don't see the point in taking that.")
else:
    print("I don't recognise that command")

action玩家输入的列表在哪里。还是我每次都必须重新输入?

我不知道如何定义一个执行上述操作的函数,我什至不确定这是我应该做的。

3.我使用的一些故事描述很长,我不希望玩家不得不横向滚动太多。但我只想将它们定义为变量以节省一些打字时间。有没有解决的办法。还是我只需要每次都用 print(“““a string here”””)

4.如果字符串以'look'开头并且有'floor'或'mess'或'rubbish',我希望它打印出特定的输出。这是我目前拥有的:

if action[0]=='look':
    if 'floor' in action or 'rubbish' in action or 'trash' or 'mess' in action:
        print('onec')
    elif 'screen' in action or 'computer' in action or 'monitor' in action:
        print('oned')
    elif 'around' in action or 'room' in action or 'apartment' in action:
        print('onee')
    elif 'david' in action or 'tyler' in action or 'boy' in action or 'brat' in action or 'youth' in action:
        print('onef')
        break
    else:
        print("You can't see that")

它打印'onec'任何以 . 开头的输入'look'

4

4 回答 4

2
  1. while语句需要一个条件
  2. 您可以使用函数一遍又一遍地调用相同的指令。
  3. “字符串文字可以通过多种方式跨越多行”
  4. 使用策略性放置的打印语句来显示 的值action,例如在之后if action[0]=='look'

最后,请不要在此问题中添加任何内容。而是提出一个新问题。这个网站对这类事情有一些具体的规定。

于 2013-10-11T06:09:12.810 回答
0
  1. 要进行无限 While 循环,请使用while True:.

  2. 您可以使用 dict 来存储常见的操作字符串及其响应。

于 2013-10-11T06:08:24.983 回答
0
  1. while需要它必须评估的条件。如果您希望它永远循环,只需给它一个始终评估为 True 的条件,例如 4>3。如果您只是使用while True:,这对每个人都是最好的,这是最清晰的选择。
  2. 对于这种特定情况,我建议使用 dict() 及其 .get() 方法。像这样的东西:

    action_dict = {'go':"You're supposed to go to David!", 
                   'look':"You can't see that",
                   'take':"You don't see the point in taking that."  
                  }
    print(action_dict.get(action[0], "I don't recognise that command")
    

    会复制你现在正在做的事情。

  3. 在此处查看 cjrh 提供的链接:http: //docs.python.org/3.3/tutorial/introduction.html#strings
  4. 我们的读心能力在 10 月有所减弱,我们需要更多信息,而不是“它不起作用”来帮助您。
于 2013-10-11T06:30:23.453 回答
0
  1. 只需先注册字符串,然后当输入到来时,更改它:

     command = "nothing"
     command = input("Enter command: ")
     while command:
    

    或者只是简单地:

     while True:
    
  2. 是的,你自己想想吧。好吧,为什么不把它放在列表中responses呢?

  3. 如果真的很长,把它放在一个文件里。需要时使用open(). 有关文件处理的更多信息 这将帮助您缩短代码,使其更易于阅读并提高效率。

于 2013-10-11T06:08:44.903 回答