2017-02-19 74 views
0

问题,我想我的代码的帮助,这是相当很难描述我的问题,但我会在下面解释(代码也将低于警告相当长警告Python - Python新手;随机

我有一个项目中, 我给每个房间的数字从1到13(pr​​n)和... 我有一个随机模块,其中'鬼'从1- 13(grn),如果它与prn匹配,则显示'BOO!' 我的问题是我应该放置这段代码的地方 代码插入只LONG

******************************************************* 
    import random 
    grn = (random.randint(1,13)) 
    if prn == grn: 
     print(" ") 
     print('BOO!') 
     print(" ") 
******************************************************* 
house() 

专注于恒星之间的部分。 我有那里的随机模块和grn。每个房间的prn在while循环中位于上方。 我的问题是,'BOO!'没有得到显示,如果grn和prn匹配,所以我来这里问: 我在哪里可以移动到 或 我该编辑什么才能使它起作用?

回答

0

查看您星号部分的缩进级别。正在while循环内定义prn。用户输入exit之后,您只能得到if prn == grn,因此您将无法获得所需的值。

它也看起来像你通过'房间'loft()作为一个全球。这是一个糟糕的主意 - 你不知道什么时候它会从你下面改变,你不会被告知。

你或许应该看看这些答案在代码审查: https://codereview.stackexchange.com/questions/36101/better-way-to-code-this-game/36112#36112 https://codereview.stackexchange.com/questions/155661/text-adventure-game

+0

它在'如果它不是退出然后...'的while循环,并且这个循环中的if语句是'如果'room'是'loft'然后转到loft的定义 - 这是下一行。所以一定要prn,因为它在线后,应该在用户进入'阁楼'后生效。 –

+0

**感谢您的帮助。我设法解决它通过把grn =(random.randint(1,13)) 如果prn == grn: print(“”) print('BOO!') print(“”) while循环。欢呼:) –

0

在您的文件的最开始处导入您的随机模块。不是结尾

+0

我已经试过了,没有改善。这可能是解决它的一个步骤,但我认为还有另一个问题。 –

+0

^^问题修复。这是修复的一个步骤。感谢:P –